Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2015, 22:57
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [Pedido] Paginador para noticias formato blog.

Realmente no es tan difícil, solo necesitas:

1- Definir cuántas noticias mostrarás por página
2- Contar el total de noticias para saber el número máximo de páginas
3- Detectar la página actual y limitar la consulta
4- Crear los enlaces para navegar entre páginas

Código PHP:
Ver original
  1. // Total de noticias por página, cámbialo de acuerdo a tu gusto/necesidad
  2. $por_pag = 10;
  3.  
  4. // Variable para página actual
  5. $pag_actual = 1;
  6.  
  7. // Variable para máximo de páginas
  8. $pag_max = 1;
  9.  
  10. // Cuenta las noticias:
  11. $consulta = 'SELECT COUNT(*) FROM noticias WHERE fecha = CONDICION';
  12. $res = mysql_query($consulta) or die('Error en consulta: ' . mysql_error);
  13. list($total_noticias) = mysql_fetch_row($res);
  14.  
  15. // Calculas el total de páginas
  16. $pag_pax = ceil($total_noticias / $por_pag);
  17.  
  18. // Buscas en $_GET la página a mostrar, si no existe, será la 1
  19. if(isset($_GET['pag'])) {
  20.     $pag_actual = (int) $_GET['pag']; // Forzamos a que sea un valor entero
  21.     // Verifica que la página esté dentro de los límites permitidos
  22.     if($pag_actual < 1) { $pag_actual = 1; }
  23.     if($pag_actual > $pag_mag) { $pag_actual = $pag_max; }
  24. }
  25.  
  26. // Ya tienes la página actual, ahora hay que limitar la consulta
  27. $inicio = ($pag_actual * $por_pag) - $por_pag;
  28.  
  29. // La parte del LIMIT es lo que "hace la magia" xD
  30. $consulta = "SELECT * FROM noticias WHERE fecha = CONDICION ORDER BY fecha DESC LIMIT $inicio, $por_pag";
  31.  
  32. // Después de mostrar las noticias creas los enlaces de páginas:
  33. for($i = 1 to $pag_max) {
  34.     echo "<a href=\"index.php?pag=$i\">$i</a>";
  35. }

Por favor no copies y pegues el código, seguramente habrá errores de tecleo, cambios en nombres de variables, campos y funciones; analízalo, entiéndelo y aplícalo en tu proyecto.
__________________
- León, Guanajuato
- GV-Foto