Foros del Web » Programando para Internet » PHP »

Mantener variables POST para paginar

Estas en el tema de Mantener variables POST para paginar en el foro de PHP en Foros del Web. Buenas, despues de muchas vueltas os comento, estoy haciendo una pagina de una inmobiliaria y tengo un form que segun seleccionas un campo u otros ...
  #1 (permalink)  
Antiguo 10/01/2013, 16:35
Avatar de jesus1975  
Fecha de Ingreso: febrero-2012
Ubicación: Valencia
Mensajes: 54
Antigüedad: 12 años, 2 meses
Puntos: 3
Mantener variables POST para paginar

Buenas, despues de muchas vueltas os comento, estoy haciendo una pagina de una inmobiliaria y tengo un form que segun seleccionas un campo u otros te muestra los resultados segun coincida y en todo momento los select mantienen el valor que ha seleccionado el usuario. (cada selec hace un envio del form y actualiza los resultados)

y aqui viene el problema he creado una paginacion y cuando pulso la pagina siguiente me pierde todos los valores, se que hay que hacerlo con sesiones pero no me aclaro y de todas maneras que lo he intentado no guarda los valores POST.

he probado algo como esto
Código PHP:
Ver original
  1. session_star();
  2. $_SESSION['ProvinciaIN']=$_POST['ProvinciaIN'];
  3. echo $_SESSION['ProvinciaIN'];

pero en el momento que le doy a la pagina 2 desaparece el valor;

os dejo un campo select para que veais algo del codigo

Código HTML:
Ver original
  1. <form id="form2" name="form2" method="post" action="inmuebles.php">
  2. <select name="ProvinciaIN" id="ProvinciaIN" class="selectBuscador" onchange="this.form.submit()">
  3.                             <?php
  4.                                 if(!empty($_POST['ProvinciaIN'])){
  5.                                     $sqlProvinciasIN1=mysql_query("SELECT * FROM provincias WHERE idProvincia=".$_POST['ProvinciaIN'], $idcon);
  6.                                     $filasProvinciasIN1=mysql_fetch_assoc($sqlProvinciasIN1);
  7.                                     echo '<option value="'.$filasProvinciasIN1['idProvincia'].'" selected="selected">'.$filasProvinciasIN1['provincia'].'</option>';
  8.                                 }
  9.                             ?>
  10.                             <option value="">Provincia</option>
  11.                             <?php
  12.                                $sqlProvinciasIN=mysql_query("SELECT * FROM provincias ORDER BY provincia ASC", $idcon);
  13.                                while($filasProvinciasIN=mysql_fetch_assoc($sqlProvinciasIN)){
  14.                                    echo '<option value="'.$filasProvinciasIN['idProvincia'].'">'.$filasProvinciasIN['provincia'].'</option>';
  15.                                 }
  16.                             ?>
  17.                         </select>
  18. </form>

Gracias de antemano
__________________
Nuevo portal de anuncios http://www.aquituanuncio.com
  #2 (permalink)  
Antiguo 10/01/2013, 17:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mantener variables POST para paginar

Por lo general, buscadores y paginadores se hacen por GET, no por POST, de forma que con un simple enlace puedas propagar todas las variables necesarias.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/01/2013, 17:25
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Mantener variables POST para paginar

Hola que tal.

El problema es que tienes que validar la posible obtención de los datos, ya que siempre asignas a la variable el valor de post y por eso pierdes el valor. Ejemplo

Código PHP:

<?php

if( $_POST //cuando obtenemos los datos por el formulario
{
    
// asignacion de valores a las variables
}
else
{
    
//si utilizas metodo GET para saber el número de la página deseada reasignas valores
}

?>
Espero que entiendas el concepto.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #4 (permalink)  
Antiguo 10/01/2013, 17:45
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Mantener variables POST para paginar

El problema no es enviar las variables de paginación.
Deberías enviar todas las variables (campos de filtro y valores).Si lo que estás haciendo es guardar los filtros en la sesión, (y por eso tu problema sólo son las variables de paginación), piensa que hay cosas como obtener un link a una página del listado, que serían imposibles.

Solución sencilla: haz que el formulario de filtros use method="GET" en vez de post.Y, si te lo hace más fácil, mete en el formulario un campo "page" de tipo "hidden" con valor 0.

Etiquetas: mysql, paginar, post, resultados, sql, variables, usuarios
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




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