Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/03/2014, 10:41
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Logica para paginar con stored procedures

Código MySQL:
Ver original
  1. CREATE PROCEDURE `EncuestaRegistros` (IN Base VARCHAR(50), IN Estado VARCHAR(2),
  2.     IN Asesor VARCHAR(30), IN Cliente VARCHAR(100), IN Desde INT, IN CantReg TINYINT UNSIGNED, OUT TotalRows INT UNSIGNED)
  3.  
  4.     SELECT T.base,T.CLIENTE,T.FECHACIERREOR FECHACIERRE,
  5.         T.ASESOR, T.resultados, T.fecha_grabacion, T.registro
  6.     FROM tabla1 T
  7.         INNER JOIN resultados R ON T.resultados = R.nombre_resultado
  8.         INNER JOIN categorias C ON R.id_cat_result = C.id_cat_result
  9.     WHERE T.base = concat('CCP-',upper(Base))
  10.         AND (C.id_cat_result = Estado OR Estado = '*')
  11.         AND (T.ASESOR = Asesor OR Asesor = '*')
  12.         AND (T.CLIENTE LIKE concat('%',Cliente,'%') OR Cliente = '');
  13.  
  14.     SET TotalRows = ROW_COUNT();
  15.  
  16.     SELECT *  FROM temp  LIMIT Desde, CantReg;
  17.  

En el contexto de un servidor MySQL 5.1.x o superior, debería reconocer las variables como parametros del LIMIT.
En cuanto al DROP TABLE no es necesario siendo una tabla TEMPORARY creada así. Simplemente se borra al terminar la ejecución del SP.

En cuanto a obtener el valor del parámetro, dependerá de cómo lo recuperes. Muestra el codigo de PHP d esta ejecucion.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)