Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/03/2006, 11:46
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Hola Lolilla:

Si te das cuenta... tú estás utilizando una variable que proviene de un formulario para hacer tu consulta ($_POST['hSort']).

Pero esa variable solamente existe cuando realmente vienes del formulario. Cuando tu presionas el enlace "siguiente >" en Paginator, se cargaá el mismo script, pero desde un enlace ('siguiente >') y nos desde un formulario, con lo que la variable $_POST['hSort'] ya no tendrá valor.

Para solucionar esto hay que hacer dos cosas:
- Propagar esa variable (hSort) para que esté disponible en todas las páginas. Para eso tienes que definir el array $_pagi_propagar, con los nombres de todas las variables que se necesite propagar.
Código PHP:
<?
$_pagi_propagar 
= array('hsort');
Como ves, sólo debes poner el nombre de la variable, sin importar si viene de POST o GET.

- Paginator propagará esa variable, pero lo hará por el método GET. Así que acá tenemos otro problema: la primera vez que carga el script estamos viniendo de un formulario, con lo que debemos utilizar la variable $_POST['hSort'], pero cuando hacemos clic en algún enlace la variable viene por url, con lo que debemos utilizar la variable $_GET['hSort']. ¿Cómo sabe el script cuándo debe leer $_POST['hSort'] y cúando $_GET['hSort']? Lo puede resolver poniendo en la consulta simplemente $_REQUEST['hSort'], con lo que soluciona el problema.

Saludos

Última edición por jpinedo; 23/03/2006 a las 12:33