Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2006, 16:08
The Stranger
 
Fecha de Ingreso: marzo-2006
Mensajes: 66
Antigüedad: 18 años, 1 mes
Puntos: 0
Problema de paginacion

Saludos!
Esta es la primera ves que visito este foro, me alegra que sea en español y no en ingles como la gran mayoria . Bueno, los ultimos días he estado intentando hacer un sistema de paginacion (uno bastante sencillo) para poder mostrar mucha informacion de mi base de datos MySQL de forma ordenada (asi como google o yahoo despliegan su informacion en paginas y abajo aparecen los links). He aqui el codigo que tengo:

Código PHP:
<?php
#El nombre del archivo es 'pag.php'.


#Tomo el valor de $page de la URL
$page $_GET['page'];


#Si el usuario entra a 'pag.php' sera 'redireccionado' (por decirlo asi) a 
#pag.php?pagina=1 
if(!$page) {
     
$page 1;
     }

#Conexion con MySQL
$conexion mysqli_connect("$servidor","$usuario","password") or die(mysqli_error());

#Selecciono mi Base de Datos
$db mysqli_select_db($conexion,"usuarios") or die(mysqli_error());

#Consulta Inicial
$query mysqli_query($conexion,"select nick from usuarios order by nick") or die(mysqli_error());

#Las variables basicas
$total mysqli_num_rows($query); /*Total de elementos que tiene mi base */
$itemsPerPage 5;  /*Cantidad de elementos que quiero mostrar por pagina*/
$numPages ceil($total/$itemsPerPage);  /*El total de paginas que se van a crear*/
$offset =($page 1) * itemsPerPage/*Esto le dice a MySQL a partir de donde empezar a mostrar los datos*/

#Consultando la informacion inicial que se va a mostrar.
$consulta "select nick from usuarios order by nick limit $offset, $total";
$query2 mysqli_query($conexion,$consulta) or die(mysqli_error());

#Mostrando la informacion
while ($row mysqli_fetch_array($query2)) {
            
extract($row);
    echo 
"$nick<br>"//$nick es el nombre de la columa de mi tabla
    
}
    
#Creando los links Page1|Page2|Page3....etc
for ($i=1;$i<=$numPages;$i++) {
            echo 
"|";
        if(
$i == $page) {
         echo 
"<b>Page $i </b>";
            }
            else {
            echo 
"<a href='pag.php?page=$i'>Page $i </a>";
            }
    }


?>
Bueno es bastante sencillo, tiene todo lo basico y deberia de funcionar bien, pero no es asi. Si despliega los primeros 5 elementos de la base de datos, mustra los links en la parte inferior de la pagina, estos links al darle click pasan por la url la variable correcta (pag.php?page=1, pag.php?page=2, pag.php?page=3....etc) el problema es que la informacion no hace ningun cambio, se queda la informacion que mostro la base de datos la primera ves... He intentado crear funciones para "refrescar" la consulta mysqli_query() pero no funciona

Ojala alguien de este foro me pueda ayudar con este problema, de verdad se lo agradeceria mucho.