Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/11/2010, 07:26
kenproxd
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Problema al paginar resultados

Mucha gracias :)

Logré solucionarlo, pero ahora al intentar cambiar de página me sale el siguiente error:

Cita:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /home/usuarios/public_html/eventoresultado.php on line 89
No se encontraron eventos
La linea 89 es la siguiente:

Código PHP:
$total mysql_result($res,0); 
dejo el código completo para que veas como me quedo:
Código PHP:
Ver original
  1. <?php
  2. coneccion ()
  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. $num_rows = mysql_num_rows($res);
  86.  
  87. if($num_rows == '') {
  88. echo 'No se encontraron eventos';
  89. }
  90. else {
  91.  
  92. while($row = mysql_fetch_array($res)){
  93.  
  94. echo 'imprime resultados';
  95. }
  96. echo paginacion($total, $pp, $st, 'eventoresultado.php?st=');
  97. }
  98. mysql_close($conn);
  99. ?>

Muchisimas gracias nuevamente :)