Foros del Web » Programando para Internet » PHP »

PHP OO paginador con php solo muestra registros en 1ra pagina? :C

Estas en el tema de paginador con php solo muestra registros en 1ra pagina? :C en el foro de PHP en Foros del Web. tengo un problema con mi paginador y es un tanto extraño... porque le he puesto como limite mostrarme solo 2 registros por pagina y es ...
  #1 (permalink)  
Antiguo 24/12/2015, 16:21
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Sonrisa paginador con php solo muestra registros en 1ra pagina? :C

tengo un problema con mi paginador y es un tanto extraño... porque le he puesto como limite mostrarme solo 2 registros por pagina y es como si ni leyera esa instruccion... pues me muestra toooodos los registros en la primera pagina y de echo el paginador muestra mas numeros despues del 1... es decir 2,3,4,5,6... como si es que hubiera mas registros que hicieran necesario el uso de mas paginas... de verdad me esta comiendo el error

aca les dejo el código a ver si me ayudan a encontrar el fallo que se que mucha gente aca tiene experiencia y un muy buen ojo...

Código PHP:
<!-- PHP PARA LA PAGINACION -->
<?php
   
/*
      Place code to connect to your DB here.
   */
   
include("php/conexiondb.php"); // include your code to connect to DB.

   
$tbl_name="post";    //your table name
   // How many adjacent pages should be shown on each side?
   
$adjacents 2;
   
   
/* 
      Primero obtenemos el numero total de filas en la tabla. 
   */
   
$query "SELECT COUNT(*) as num FROM $tbl_name";
   
$total_pages mysql_fetch_array(mysql_query($query));
   
$total_pages $total_pages['num'];
   
   
/* variables a utilizar para la consulta. */
   
$targetpage "etiquetas.php";  //nombre del archivo
   
$limit 2;                         //Cantidad limite de registros a mostrar por cada pagina
    
$page "http://localhost/blog/etiquetas.php";
   if(isset(
$_GET["page"])){
       
$page = (int)$_GET["page"];

      
$start = ($page 1) * $limit;         //primer item a mostrar
   
}else{
      
$start 0;                      //Si no hay registros existentes, empezar pagina en 0
   
}
   
   
/* Realizamos y obtenemos datos de la consulta. */
   
$sql mysql_query("SELECT * FROM $tbl_name ORDER BY id DESC LIMIT $start, $limit");
   
//$result = mysql_query($sql);
   
   /* Setup page vars for display. */
   
if ($page == 0$page 1;             //if no page var is given, default to 1.
   
$prev $page 1;                     //previous page is page - 1
   
$next $page 1;                     //next page is page + 1
   
$lastpage ceil($total_pages/$limit);    //lastpage is = total pages / items per page, rounded up.
   
$lpm1 $lastpage 1;                 //last page minus 1
   
   /* 
      Now we apply our rules and draw the pagination object. 
      We're actually saving the code to a variable in case we want to draw it more than once.
   */
   
$pagination "";
   if(
$lastpage 1)
   {  
      
$pagination .= "<div class=\"pagination\">";
      
//previous button
      
if ($page 1
         
$pagination.= "<a href=\"$targetpage?page=$prev\"> <span class=\"icon-reply\" alt=\"Atras\"> </span></a>";

      else
         
$pagination.= "<span class=\"icon-reply\" alt=\"Atras\"> </span>";
     
#         $pagination.= "<span class=\"disabled\">« previous</span>"; 


      
      //pages  
      
if ($lastpage + ($adjacents 2))  //not enough pages to bother breaking it up
      
{  
         for (
$counter 1$counter <= $lastpage$counter++)
         {
            if (
$counter == $page)
               
$pagination.= "<span class=\"current\">$counter</span>";
            else
               
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";              
         }
      }
      elseif(
$lastpage + ($adjacents 2))  //enough pages to hide some
      
{
         
//close to beginning; only hide later pages
         
if($page + ($adjacents 2))    
         {
            for (
$counter 1$counter + ($adjacents 2); $counter++)
            {
               if (
$counter == $page)
                  
$pagination.= "<span class=\"current\">$counter</span>";
               else
                  
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";              
            }
            
$pagination.= "...";
            
$pagination.= "<a href=$targetpage?page=$lpm1>$lpm1</a>";
            
$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         }
         
//in middle; hide some front and some back
         
elseif($lastpage - ($adjacents 2) > $page && $page > ($adjacents 2))
         {
            
$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            
$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            
$pagination.= "...";
            for (
$counter $page $adjacents$counter <= $page $adjacents$counter++)
            {
               if (
$counter == $page)
                  
$pagination.= "<span class=\"current\">$counter</span>";

               else
                  
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";              
            }
            
$pagination.= "...";
            
$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
            
$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         }
         
//close to end; only hide early pages
         
else
         {
            
$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            
$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            
$pagination.= "...";
            for (
$counter $lastpage - (+ ($adjacents 2)); $counter <= $lastpage$counter++)
            {
               if (
$counter == $page)
                  
$pagination.= "<span class=\"current\">$counter</span>";

               else
                  
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";              
            }
         }
      }
      
      
//next button
      
if ($page $counter 1
         
$pagination.= "<a href=\"$targetpage?page=$next\"><span class=\"icon-forward\" alt=\"Siguiente\"></span></a>";
      else
         
$pagination.= "<span class=\"icon-forward\" alt=\"Siguiente\"></span>";
     
#         $pagination.= "<span class=\"disabled\">next »</span>";

      
$pagination.= "</div>\n";     
   }
?>

   <?php
   
if ($total_pages == 0){
   
?>

<script type="text/javascript">
    alert("No se ha registrado ningún Post hasta el momento...");
</script>


<?php
}else{ 
blabla blaa... el div que va a mostrar el contenido de la consulta...
}
?>

Etiquetas: muestra, mysql, paginador, registro, registros, select, sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:21.