Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2010, 06:49
kenproxd
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Problema con links de paginador

Hola,

Hace unos días hice un post sobre un problema que tuve al paginar unos resultados, problema el cuál resolvi, pero ahora tengo otro en el mismo sistema.

Al hacer la busqueda el sistema muestra los resultados totales, los cuales no pasan de los 80. Se supone que me muestra 10 resultados por página, pero yo obtengo lo siguiente:

10 resultados

[1]2345678910 [>] [>>>]



Dando a entender que los resultados son 100.

Al cambiar de página me da el siguiente error:

Código:
Warning:  mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /home/usuario/public_html/eventoresultado.php on line 89
No se encontraron eventos
Esta es la línea 89:

Código PHP:
$total mysql_result($res,0); 
El código completo es el siguiente:

Código PHP:
Ver original
  1. <?php
  2. conección ()
  3.  
  4. $mes=$_POST['mes'];
  5. $orden=$_POST['orden'];
  6.  
  7. if(isset($_GET['st'])) {
  8. $st = $_GET['st'];
  9. } else {
  10. $st = 0;
  11. }
  12.  
  13. $pp = 10;
  14.  
  15. /* función para paginar */
  16.  
  17. function paginacion($total,$pp,$st,$url) {
  18.  
  19. if($total>$pp) {
  20. $resto=$total%$pp;
  21. if($resto==0) {
  22. $pages=$total/$pp;
  23. } else {
  24. $pages=(($total-$resto)/$pp)+1;
  25. }
  26.  
  27. if($pages>10) {
  28. $current_page=($st/$pp)+1;
  29. if($st==0) {
  30. $first_page=0;
  31. $last_page=10;
  32. } else if($current_page>=5 && $current_page<=($pages-5)) {
  33. $first_page=$current_page-5;
  34. $last_page=$current_page+5;
  35. } else if($current_page<5) {
  36. $first_page=0;
  37. $last_page=$current_page+5+(5-$current_page);
  38. } else {
  39. $first_page=$current_page-5-(($current_page+5)-$pages);
  40. $last_page=$pages;
  41. }
  42. } else {
  43. $first_page=0;
  44. $last_page=$pages;
  45. }
  46.  
  47. for($i=$first_page;$i< $last_page;$i++) {
  48. $pge=$i+1;
  49. $nextst=$i*$pp;
  50. if($st==$nextst) {
  51. $page_nav .= '<b>['.$pge.']';
  52. } else {
  53. $page_nav .= '<a href="'.$url.$nextst.'">'.$pge.'</a>';
  54. }
  55. }
  56.  
  57. if($st==0) { $current_page = 1; } else { $current_page = ($st/$pp)+1; }
  58.  
  59. if($current_page< $pages) {
  60. $page_last = '<b>[<a href="'.$url.($pages-1)*$pp.'">>>></a>]';
  61. $page_next = '[<a href="'.$url.$current_page*$pp.'">></a>]';
  62. }
  63.  
  64. if($st>0) {
  65. $page_first = '<b>[<a href="'.$url.'0">< <<</a>]</a></b>';
  66. $page_previous = '[<a href="'.$url.''.($current_page-2)*$pp.'">< </a>]';
  67. }
  68. }
  69.  
  70. return "$page_first $page_previous $page_nav $page_next $page_last";
  71. }
  72.  
  73. /* termina función para paginar */
  74.  
  75. if($mes == 'todos') {
  76. $sql = "select  * from eventos ORDER BY mes $orden, dia $orden limit $st,$pp";
  77. }
  78.  
  79. else {
  80. $sql = "select  * from eventos where mes='$mes' ORDER BY dia $orden limit $st,$pp";
  81. }
  82.  
  83. $res = mysql_query($sql,$conn) or die(mysql_error());
  84. $total = mysql_result($res,0);
  85.  
  86. if($total == '') {
  87. echo 'No se encontraron eventos';
  88. }
  89. else {
  90.  
  91. while($row = mysql_fetch_array($res)){
  92.  
  93. echo 'resultados';
  94. }
  95. echo paginacion($total, $pp, $st, 'eventoresultado.php?st=');
  96. }
  97. mysql_close($conn);
  98. ?>

Espero me puedan ayudar, gracias :)