Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2010, 23:04
heart_rocker
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
Mi script de Paginación está con problemas

La idea es utilizarlo en esta web: www.skadesurextremo.cl
He puesto fotos y detalles de los productos en la web, pero no tienen paginación, excepto en la sección "accesorios", que contiene el script que puse más abajo...
El tema de la páginación funciona excelente, pero el script no me imprime los datos (no muestra las fotos chicas de abajo que funcionan como botón) como en las otras secciones de los productos sin paginación... Tampoco me funcionan los respectivos vínculos de esas "fotos botones" que deberían llevarme a ver el detalle de cada producto...
Me gustaría que alguien pudiera revisar el script, para ver cual es el error y por qué no me muestra los datos, si según lo poco que manejo de php, debería estar bien todo lo que hice...

Agradezco prontitud y pido disculpas por las molestias...
Saludos...

Código PHP:
Ver original
  1. <?
  2. include("conectar.php");
  3. // Registros a mostrar en cada página
  4. $regVistos = 8;
  5.  
  6. // Consulta que devuelve todos los registros
  7. $lista0 = mysql_query("SELECT * FROM productos WHERE categoria='accesorios' ORDER BY titulo, marca ASC");
  8.  
  9. // Se cuentan los registros devueltos por la consulta SQL $lista0
  10. $totalSql = mysql_num_rows($lista0);
  11.  
  12. // Páginas que van a aparecer, redondeando los decimales siempre hacia arriba
  13. $pagTotal = ceil($totalSql/$regVistos);
  14.  
  15. // Se definen la página actual (desde el parámetro 'pag' de la URL) y las páginas anterior y siguiente
  16. if (!isset($_GET['pag'])) {$pagActual=1;} else {$pagActual=$_GET['pag'];}
  17. $pagAnterior = $pagActual-1;
  18. $pagSiguiente = $pagActual+1;
  19.  
  20. // Consulta SQL con la que se sacará el listado de registros
  21. $lista1 = mysql_query("SELECT id, categoria, titulo, marca, detalle, foto, estado FROM productos WHERE categoria='accesorios' ORDER BY titulo, marca ASC LIMIT ".(($pagActual-1)*$regVistos).",".$regVistos."");
  22. // Bucle para generar el listado de registros
  23. while($fila = mysql_fetch_assoc($lista1)) {
  24. // Aquí irá el código PHP que escriba los registros
  25.  
  26. { echo "<a href='accesorios.php?id=$row[0]'>";
  27. echo "<img width='70' height='70' src='$row[5]' alt='$row[2] $row[3]' border='0'>";
  28. echo "</a>";
  29. echo "<a>&nbsp;&nbsp;</a>";}
  30. }
  31.  
  32.  
  33. // Se inicia el listado de páginas
  34. echo "<ul class='subtitulo'>";
  35.  
  36. // Si la página actual no es la primera, se muestra el enlace a la página anterior
  37. if ($pagAnterior>0) {echo '<a class="texto"><a href="accesorios.php?pag='.$pagAnterior.'"><span>Anterior</span></a></a><a> / </a>';}
  38.  
  39. // Se saca el listado de páginas mediante un bucle
  40. $pgIntervalo = 5; // Páginas que aparecen antes y después de la actual
  41. $pgMaximo = ($pgIntervalo*2)+1; // Máximo de páginas en el listado
  42. $pg=$pagActual-$pgIntervalo;$i=1;
  43. while ($i<$pgMaximo) {
  44. if ($pg==$pagActual) {$strong=array('<strong>','</strong>');} else {$strong=array('','');}
  45. if ($pg>0 and $pg<=$pagTotal) {
  46. echo '<a>'.$strong[0].'<a href="accesorios.php?p='.$_GET['p'].'&amp;pag='.$pg.'"><span class="texto"></span>'.$pg.'</a>'.$strong[1].'</a><a> / </a>';
  47. $i++;
  48. }
  49. if ($pg>$pagTotal) {$i=$pgMaximo;} // Si la página que se va a mostrar se pasa de la cantidad de páginas definidas en $pagTotal se para la generación de elementos de lista
  50. $pg++;
  51. }
  52.  
  53. // Si la página actual no es la última, se muestra el enlace a la página siguiente
  54. if ($pagSiguiente<=$pagTotal) {echo '<a class="texto"><a href="accesorios.php?p='.$_GET['p'].'&amp;pag='.$pagSiguiente.'"><span class="oculto"></span>Siguiente</a></a>';}
  55.  
  56. // Se finaliza el listado de páginas
  57. echo "</ul>";
  58. ?>