Tema: Paginacion
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/06/2014, 15:11
Avatar de fermin3d
fermin3d
 
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Paginacion

Hola amigos tengo una variable que recojo por url y muestra todos los datos de esa bd, todo va bien simplemente que cuando quiero pasar a las siguien pagina pues no muestra los resultados siguientes este es el codigo

Código PHP:
Ver original
  1. <?php
  2. if ($_GET['cat']);
  3. $servidor="--------";
  4. $usuario="---------";
  5. $password="--------";
  6. $base="-----------";
  7. $bi=$_GET['cat'];
  8. $bi = str_replace("-", " ", $bi);
  9.  
  10. //AL PRINCIPIO COMPRUEBO SI HICIERON CLICK EN ALGUNA PÁGINA
  11. if(isset($_GET['page']))
  12. {
  13.     $page= $_GET['page'];
  14. }
  15. else
  16. {
  17.     //SI NO DIGO Q ES LA PRIMERA PÁGINA
  18.     $page=1;
  19. }
  20.  
  21.  
  22. $con=mysql_connect($servidor,$usuario,$password);
  23. mysql_select_db($base,$con);
  24. $consulta =("SELECT * FROM imagenes where uno='".$bi."' || dos='".$bi."' || tres='".$bi."' || cuatro='".$bi."' || categoria='".$bi."'") or die (mysql_error());
  25. $datos=mysql_query($consulta);
  26.  
  27. //MIRO CUANTOS DATOS FUERON DEVUELTOS
  28. $num_rows=mysql_num_rows($datos);
  29.  
  30. //ACA SE DECIDE CUANTOS RESULTADOS MOSTRAR POR PÁGINA , EN EL EJEMPLO PONGO 10
  31. $rows_per_page= 68;
  32.  
  33. //CALCULO LA ULTIMA PÁGINA
  34. $lastpage= ceil($num_rows / $rows_per_page);
  35.  
  36. //COMPRUEBO QUE EL VALOR DE LA PÁGINA SEA CORRECTO Y SI ES LA ULTIMA PÁGINA
  37. $page=(int)$page;
  38.  
  39. if($page > $lastpage)
  40. {
  41.     $page= $lastpage;
  42. }
  43.  
  44. if($page < 1)
  45. {
  46.     $page=1;
  47. }
  48.  
  49. //CREO LA SENTENCIA LIMIT PARA AÑADIR A LA CONSULTA QUE DEFINITIVA
  50. $limit= 'LIMIT '. ($page -1) * $rows_per_page . ',' .$rows_per_page;
  51.  
  52.  
  53. //REALIZO LA CONSULTA QUE VA A MOSTRAR LOS DATOS (ES LA ANTERIO + EL $limit)
  54. $consulta .=" $limit";
  55. $pelicula=mysql_query($consulta);
  56.  
  57. if(!$pelicula)
  58. {
  59.         //SI FALLA LA CONSULTA MUESTRO ERROR
  60.         die('Invalid query: ' . mysql_error());
  61. }
  62. else
  63. {
  64.     //SI ES CORRECTA MUESTRO LOS DATOS
  65.     ?>
  66.                    
  67.         <?php while($row = mysql_fetch_assoc($pelicula))
  68.           {  ?>
  69.  
  70.              //datos a mostrar
  71.  
  72. <?php break;  } ?>
  73.  
  74.  
  75. // AQUI PONGO LA PAGINACION A OTRAS PAGINAS
  76.  
  77.  
  78.  
  79. <?php
  80.     //UNA VEZ Q MUESTRO LOS DATOS TENGO Q MOSTRAR EL BLOQUE DE PAGINACIÓN SIEMPRE Y CUANDO HAYA MÁS DE UNA PÁGINA
  81.      
  82.     if($num_rows != 0)
  83.     {
  84.        $nextpage= $page +1;
  85.        $prevpage= $page -1;
  86.      
  87.        ?><ul id="pagination-digg"><?php
  88.            //SI ES LA PRIMERA PÁGINA DESHABILITO EL BOTON DE PREVIOUS, MUESTRO EL 1 COMO ACTIVO Y MUESTRO EL RESTO DE PÁGINAS
  89.            if ($page == 1)
  90.            {
  91.             ?>
  92.               <li class="previous-off">Atras</li>
  93.               <li class="active">1</li>
  94.          <?php
  95.               for($i= $page+1; $i<= $lastpage ; $i++)
  96.               {?>
  97.                 <li><a href="categorias.php?cat=<?php echo $_GET['cat']; ?>?page=<?php echo $i;?>"><?php echo $i;?></a></li>
  98.         <?php }
  99.            
  100.            //Y SI LA ULTIMA PÁGINA ES MAYOR QUE LA ACTUAL MUESTRO EL BOTON NEXT O LO DESHABILITO
  101.             if($lastpage >$page )
  102.             {?>      
  103.                 <li class="next"><a href="categorias.php?cat=<?php echo $_GET['cat']; ?>?page=<?php echo $nextpage;?>">Siguiente</a></li><?php
  104.             }
  105.             else
  106.             {?>
  107.                 <li class="next-off">Siguiente</li>
  108.         <?php
  109.             }
  110.         }
  111.         else
  112.         {
  113.      
  114.             //EN CAMBIO SI NO ESTAMOS EN LA PÁGINA UNO HABILITO EL BOTON DE PREVIUS Y MUESTRO LAS DEMÁS
  115.         ?>
  116.             <li class="previous"><a href="categorias.php?cat=<?php echo $_GET['cat']; ?>?page=<?php echo $prevpage;?>">Atras</a></li><?php
  117.              for($i= 1; $i<= $lastpage ; $i++)
  118.              {
  119.                            //COMPRUEBO SI ES LA PÁGINA ACTIVA O NO
  120.                 if($page == $i)
  121.                 {
  122.             ?>       <li class="active"><?php echo $i;?></li><?php
  123.                 }
  124.                 else
  125.                 {
  126.             ?>       <li><a href="categorias.php?cat=<?php echo $_GET['cat']; ?>?page=<?php echo $i;?>" ><?php echo $i;?></a></li><?php
  127.                 }
  128.             }
  129.              //Y SI NO ES LA ÚLTIMA PÁGINA ACTIVO EL BOTON NEXT    
  130.             if($lastpage >$page )
  131.             {   ?>  
  132.                 <li class="next"><a href="categorias.php?cat=<?php echo $_GET['cat']; ?>?page=<?php echo $nextpage;?>">Siguiente</a></li><?php
  133.             }
  134.             else
  135.             {
  136.         ?>       <li class="next-off">Siguiente</li><?php
  137.             }
  138.         }    
  139.     ?></ul></div><?php
  140.     }
  141. }
  142. mysql_close($con);
  143. ?>


Muchas gracias por la ayuda.