Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2013, 02:41
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Problema con paginador PHP

Fijate bien en lo que haces.

Primero llamas la lista con dos parametros

@$buscar_region=$_POST['buscar_region'];
@$buscar_categoria= $_POST['buscar_categoria'];

esto hace la selección de registros a mostrar y los muestra.

Cuando construyes el link para ir a la pagina siguiente solo pasas un parametro

echo "<a href='buscar.php?num=".$cont. "'>$cont</a> ";

Con solo ese dato no puedes volver a hacer la consulta y mostrar nuevos registros.

Estas usando @ delante de las variables:

Manual
Cita:
Operadores de control de errores

PHP soporta un operador de control de errores: el signo de arroba (@). Cuando se antepone a una expresión en PHP, cualquier mensaje de error que pueden ser generado por esa expresión será ignorado.

Si se ha establecido una función controladora de errores personalizada con set_error_handler() entonces todavía será llamada, pero este controlador de errores personalizado puede (y debe) llamar a error_reporting() el cual devolverá 0 cuando la llamada que provocó el error fue precedida por el signo @.

Si la propiedad track_errors está activada, cualquier mensaje de error generado por la expresión será guardada en la variable $php_errormsg. Esta variable se sobrescribe en cada error, así que se debe comprobar antes si se desea utilizar.
Si lo quitas vas a ver los errores, ocultar errores en tiempo de programación nunca es buena idea, puesto que te auto engañas ... lo bueno es ver todo lo que esta pasando.

Concretamente en este caso sabrias que

$buscar_region=$_POST['buscar_region'];
$buscar_categoria= $_POST['buscar_categoria'];

cuando entras en la segunda pagina no recibes esos datos.

Deberías plantearte la PPOO progrmacón orientada a objetos y/o el uso de session que te permitiria optimizar el acceso al servidor de bbdd... de la manera que lo haces cada pagina que pides empieza todo des de cero es como una busqueda nueva...

Si no te lo panteas modifica tu codigo para que pase todos los parametros necesaris para la busqueda

Código PHP:
Ver original
  1. $buscar_region=$_REQUEST['buscar_region'];
  2. $buscar_categoria= $_REQUEST['buscar_categoria'];
  3.  
  4. ....
  5.  
  6. echo "<a href='buscar.php?num=".$cont. ".&buscar_region=".$buscar_region."&buscar_categoria=".$buscar_categoria."'>$cont</a> ";

Ahora estaras mandado por get, por eso cambio $_POST por $_REQUEST, todos los datos necesarios....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.