PHP mantener el valor de variable local después de recibir una variable súper-globlal GET

experto/a,

Estoy intentando paginar los resultados de una consulta de base de datos mysql. De momento no quiero utilizar librerías, sino que me lo tomo como algo didáctico y lo estoy haciendo de manera muy básica para entender y aprender. Tengo una pagina index.php que con un formulario realizo una consulta y me devuelve un listado sobre la misma pagina index.php ese listado lo intento paginar. La primera vez me muestra perfectamente los registros que quiero ver por página, cuando le doy a enlace que me he creado "pagina siguiente" envío una variable que lleva la información del número del primer registro de la siguiente pagina, por el método GET a la misma index.php. En este misma página index.php tengo una variable $consulta con el valor de la consulta generada por las selecciones del formulario. El problema es que cada que mando a index.php la variable global método GET al cargar de nuevo la pagina como es lógico me borra el valor de $consulta y no puedo avanzar en la paginación. ¿Cómo podría guardar la variable $consulta en la pagina o en otra pagina para que no le afectara cada vez que hago en "pagina siguiente" y carga de nuevo la página con el método GET?. ¿Esto tiene algo que ver con el tema de Sesiones?.

1 Respuesta

Respuesta
1

Lo mas sencillo es que guardases la consulta en una variable session.

Pongamos el ejemplo de que tienes un formulario con la consulta, en tu caso lo envías como GET a la pagina de resultados.

Pues le dices $_SESSION["consulta"] = $_GET["consulta"]

Entonces cuando busques, ahora estas con la variable $_GET["consulta"] y $_GET["paginación"] cambias a usar $_SESSION["consulta"] y $_GET["paginación"] y listo. Te guardará los datos en la session hasta que cierres el navegador o le des otro nuevo valor a $_GET["consulta"] y listo.

Acuérdate que al usar SESSION necesitas pones session_start(); al principio del todo de tu código, lo primerito de todo, incluso antes del < DOCTYPE

Muchísimas gracias he probado tus indicaciones y me va perfectamente, no había caído en que la variable $_GET se podía meter en $_SESSION.

Saludos y gracias de nuevo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas