Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/08/2011, 08:26
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: script de paginacion siempre me da los mismos resultados en todas las pagi

Te falta la mitad de la funcionalidad. Tienes este código:
Código PHP:
Ver original
  1. $registros = 10;
  2. if (!$pagina) {
  3.     $inicio = 0;
  4.     $pagina = 0;
  5. } else {
  6.     $inicio = ($pagina - 1)* $registros;
  7. }
Pero $pagina te lo inventas, no lo has sacado de ningún lado. Y, por otro lado, $inicio lo declaras aquí, pero no lo vuelves a usar nunca más.

Supongo que has sacado el código de algún manual, si es así, continúa leyendo el manual, porque con sólo sacar el código no te va a funcionar, tienes que organizarlo igual que el manual. Te explico un poco lo que te falta:
- Cuando se hace una paginación, no hay otra forma que poner en el URL un parámetro para marcar la página en la que estamos. Esto es, a tu URL tendrías que añadir ?pagina=1 (siendo 1 la primera página y de ahí en adelante, 2, 3...), por ejemplo:
http://curso-php.comocreartuweb.es/p...n.php?pagina=1
En el código tienes que acceder a dicho valor con GET:
Código PHP:
Ver original
  1. $pagina = $_GET['pagina']
Y ya con este valor, ejecutas el código que tú tienes ahí.

- Una vez decidido el $inicio con el código que tienes puesto, tienes que utilizarlo dentro de la consulta SQL. Tienes esto:
Código PHP:
Ver original
  1. $resultados = mysql_query("SELECT * FROM  `tabla` ORDER BY  `id` DESC LIMIT 0 , 10");
Pero ahí siempre empiezas en el registro 0 y sacas los 10 primeros. Échale un ojo a la cláusula LIMIT del SELECT. Tendrías que poner algo así:
Código PHP:
Ver original
  1. $resultados = mysql_query("SELECT * FROM  `tabla` ORDER BY  `id` DESC LIMIT " . $inicio . " , " . $registros . ");

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?