Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2011, 20:31
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Conflicto con foro en php (temas por paginas)

Con todo respeto es un despaparajo (desastre) tu código, para paginación es realmente sencillo
Código PHP:
Ver original
  1. //Verificamos en que página estamos
  2. if (isset($_GET['page'])) {
  3. $page = $_GET['page'];
  4. }else {
  5. $page = 1;
  6. }
  7.  
  8. //Configuración
  9. $numItemsPorPag = 10;
  10.  
  11. $sql = mysql_query('select id from tabla',$conexion) or die (mysql_error());
  12. //obtenemos el numero total de registros
  13. $numItems = mysql_num_rows($sql);
  14.  
  15. //obtenemos el total de páginas
  16. $numPages = ceil($numItems / $numItemsPorPag);
  17. //obtenemos el numero de items que se mostraran en la página actual
  18. $numItemsInicio = ($numImtesPorPag * ($page - 1));
  19.  
  20. //obtenemos los registros para la página actual
  21. $sql2 = mysq_query('select * from tabla limit '.$numItemsInicio.','.$numItemsPorPag);
  22.  
  23. //mostramos los registros
  24. while($row = mysql_fetch_assoc($sql2)) {
  25. echo $row['titulo'];
  26. }
  27.  
  28. //creamos el menú de paginación
  29. if ($page == 1) {
  30. echo 'Anterior - ';
  31. }else {
  32. echo '<a href="?page='.($page - 1).'">Anterior</a> - ';
  33. }
  34.  
  35. for($i=1; $i<=$numPages; $i++) {
  36. if ($i==$page) {
  37. echo $i.' - ';
  38. }else {
  39. echo '<a href="?page='.$i.'">'.$i.'</a> - ';
  40. }
  41. }
  42.  
  43. if ($numPage == $page) {
  44. echo 'Siguiente';
  45. }else {
  46. echo '<a href="?page='.($page + 1).'">Siguiente</a>';
  47. }

El código lo he hecho al vuelo, puede contener errores ya que no lo he probado, pero básicamente debería funcionar
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)