Foros del Web » Programando para Internet » PHP »

Paginacion

Estas en el tema de Paginacion en el foro de PHP en Foros del Web. Es la primera vez que hago una paginacion... Encontre un ejemplo muy bueno en internet y lo puse en practica, el fallo está en cuando ...
  #1 (permalink)  
Antiguo 24/11/2011, 05:26
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 9 años, 10 meses
Puntos: 4
Paginacion

Es la primera vez que hago una paginacion...
Encontre un ejemplo muy bueno en internet y lo puse en practica, el fallo está en cuando cambias de pagina ya que mi consulta SQL contiene un where, el cual uno de los condicionadores son un campo input que le envie con anterioridad.


$sql = "select count(*) as contador from empresa where id_poligono = " . $_POST('id_poligono'];

Tanto en esta consulta como en las demas me da el error ya que el $_POST('id_poligono'] al cambiar de pagina, es decir, al pasar de la 1 a la 2 pierde el valor.

Me gustaria saber si conocen alguna otra forma mas sencilla.

Esta es el.... creo que 15 intento de hacerlo... si, se que soy torpe jajaja

Gracias
  #2 (permalink)  
Antiguo 24/11/2011, 06:26
 
Fecha de Ingreso: octubre-2011
Mensajes: 37
Antigüedad: 9 años, 7 meses
Puntos: 9
Respuesta: Paginacion

guardalo en el array $_SESSION que lo conservas durante toda la sesion, y ten cuidado has escrito $_POST('var'], entiendo que pueda ser un simple error al escribirlo aqui rapido para exponer tu problema, pero por si acaso miralo
  #3 (permalink)  
Antiguo 24/11/2011, 06:37
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: Paginacion

Perdona mi ignorancia pero... $_SESSION se mantiene aunque no tenga una sesion iniciada, es decir, si no he hecho un login.

Esque los datos los puede ver cualquiera que entre en la web.

Y lo de $_POST('var'] si a sido un fallo al escribirlo aqui jajajaja
  #4 (permalink)  
Antiguo 24/11/2011, 17:24
 
Fecha de Ingreso: octubre-2011
Mensajes: 37
Antigüedad: 9 años, 7 meses
Puntos: 9
Respuesta: Paginacion

Código PHP:
Ver original
  1.  
  2. if(!isset($_SESSION['where']))
  3.     $_SESSION['where'] = $_POST['where'];
  4.  
  5. echo "select * from table where {$_SESSION['where']}";

si no existe la variable de sesion la crea con los datos del post, a partir de ahi siempre usas la de sesion y siempre y cuando hayas iniciado la sesion con session_start tendras ese valor a mano para usarlo donde quieras

aqui mas info: http://www.php.net/manual/es/book.session.php
  #5 (permalink)  
Antiguo 25/11/2011, 02:21
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: Paginacion

Ok, muchas gracias!
  #6 (permalink)  
Antiguo 25/11/2011, 08:19
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 10 años, 9 meses
Puntos: 67
Respuesta: Paginacion

Cita:
Iniciado por TheCastor Ver Mensaje
Perdona mi ignorancia pero... $_SESSION se mantiene aunque no tenga una sesion iniciada, es decir, si no he hecho un login.
Si, la variable $_SESSION estás disponible en todo momento, recuerda no verlo como algo tan complejo, pues, al fin y al cabo es un array. Recuerda que debes poner un session_start() para que puedas utilizarla.

y para tu paginación, talvez te interesaría hechar un vistazo a kpaginate, es una clase para paginaciones.

Saludos.
__________________
Páginas web de alta calidad y hechas a la medida.
  #7 (permalink)  
Antiguo 25/11/2011, 09:22
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: Paginacion

el_quick gracias por el enlace... fue de esa misma pagina de donde saqué la paginacion, pero me pasaba lo que te dije, al tener que pasarle la variable, al cambiar de pagina esta perdia su valor.
Aun no he probado lo de $_session, cuando lo pruebe te dire como me ha ido.
Gracias
  #8 (permalink)  
Antiguo 25/11/2011, 09:38
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 10 años, 9 meses
Puntos: 67
Respuesta: Paginacion

Ok, en este caso, ya que estás usando kpaginate, y puesto que yo escribí la clase sé como podrías hacer un pequeño "hack", ok...

solo tienes que agregar un par de líneas antes de la creación de la instancia de kpaginate, así:

Código PHP:
...
if(isset(
$_POST['id_poligono']){
    
$_GET['id_poligono'] = $_POST['id_poligono'] ;
}
$instancia_kpaginate = new kpaginate ;
... 
Verás que en el link de cada página se agregará la variable id_poligono y a partir de ahí utiliza $_GET['id_poligono'] en lugar de $_POST['id_poligono'].

En todo caso la mejor solución es usar siempre el método get y no el post desde el principio para filtros y búsquedas.

Saludos!
__________________
Páginas web de alta calidad y hechas a la medida.

Etiquetas: paginacion, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 05:15.