Foros del Web » Programando para Internet » PHP »

paginacion php

Estas en el tema de paginacion php en el foro de PHP en Foros del Web. Buen día, Tengo una pagina html en la que incluyo con php a la clase que genera un grid y debajo de este la paginacion. ...
  #1 (permalink)  
Antiguo 11/07/2013, 15:44
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 11 meses
Puntos: 3
Exclamación paginacion php

Buen día,


Tengo una pagina html en la que incluyo con php a la clase que genera un grid y debajo de este la paginacion. El problema es que cuando se le da clic al número siguiente de la paginacion en ves de estar en la misma pagina y actualizar el grid cambia de pagina y muestra el grid con la información de la pagina seleccionada, el problema es que al hacer eso se me pierde la pagina actual ¿como le puedo hacer para que se quede en la pagina actual?

no quiero poner todo el código en la misma pagina(si lo hago así si funciona) ya que se pierde legibilidad quiero separarlo para que se vea mejor.


NOTA la pagina actual (html) llego a ella a través de un menú principal cuya opción del menú funciona con ayax que carga la pagina html en un div y este html llama a la clase con el datagrid con paginacion.




en la html esta un formulario y luego la php que llama al grid

Código HTML:
Ver original
  1. <?php
  2.  
  3. // Lo siguiente carga un DATAGRID con toda la informacion de la tabla usuarioperfil
  4.  
  5.   /*Incluimos el fichero de la clase*/
  6.   require '../lib/DBgrida.class.php';        
  7.  
  8.          
  9.      echo "<div class='centraTabla'>";
  10.          
  11.        //Realizamos la consulta a la base de datos y controlamos que nos devuelva
  12.      
  13.       $result="SELECT usuario,Perfilid  FROM usuarioperfil";        
  14.       $grid = new DBgrida($result);
  15.         echo "</div>";
  16. ?>



Lo siguiente es la clase grid con la paginacion


Código PHP:
Ver original
  1. <?php
  2. class DBgrida{
  3.      
  4.       var $result;
  5.      
  6.      //$result es la consulta
  7.       function DBgrida($result)
  8.       {
  9.          $this->result=$result;              
  10.      
  11.         $res=mysql_query($this->result);
  12.         $numeroRegistros=mysql_num_rows($res);
  13.          
  14.     if($numeroRegistros<=0)
  15.     {
  16.         echo "<div align='center'>";
  17.         echo "<font face='verdana' size='-2'>No se encontraron resultados</font>";
  18.         echo "</div>";
  19.     }else{
  20.         //////////elementos para el orden
  21.         if(!isset($orden))
  22.         {
  23.             $orden="user";
  24.         }
  25.         //////////fin elementos de orden
  26.  
  27.         //////////calculo de elementos necesarios para paginacion
  28.         //tamaño de la pagina
  29.         $tamPag=5;
  30.  
  31.         //pagina actual si no esta definida y limites
  32.          if(!isset($_GET["pagina"]))
  33.         {
  34.         $pagina=1;
  35.         $inicio=1;
  36.         $final=$tamPag;
  37.         }
  38.         else
  39.         {
  40.         $pagina = $_GET["pagina"];
  41.         }
  42.  
  43.         //calculo del limite inferior
  44.         $limitInf=($pagina-1)*$tamPag;
  45.  
  46.         //calculo del numero de paginas
  47.         $numPags=ceil($numeroRegistros/$tamPag);
  48.         if(!isset($pagina))
  49.         {
  50.                $pagina=1;
  51.                $inicio=1;
  52.                $final=$tamPag;
  53.         }else{
  54.             $seccionActual=intval(($pagina-1)/$tamPag);
  55.             $inicio=($seccionActual*$tamPag)+1;
  56.  
  57.             if($pagina<$numPags)
  58.             {
  59.                $final=$inicio+$tamPag-1;
  60.             }else{
  61.                 $final=$numPags;
  62.             }
  63.                
  64.                 if ($final>$numPags){
  65.                      $final=$numPags;
  66.             }
  67.         }
  68.  
  69.         //////////fin de dicho calculo     
  70.         echo "<table class='tbDatos'>";
  71.                echo "<tr class='tbDatos'>";
  72.                
  73.                //IMPRIME ENCABEZADOS DE LA TABLA
  74.                for ($i=0; $i< mysql_num_fields($res); $i++){
  75.                    echo "<th>".mysql_field_name($res,$i). "</th>";
  76.                    }
  77.                echo "</tr>";
  78.                
  79.                
  80.                $sqls=$this->result." Limit ".$limitInf.",".$tamPag;
  81.                echo $this->result;
  82.                 $sql=mysql_query($sqls);
  83.                 //$res=mysql_query($sql);
  84.                echo "Limite inferior".$limitInf;
  85.                echo "NumPAgina".$tamPag;
  86.                
  87.                //IMPRIME LOS REGISTROS DE LA CONSULTA
  88.                $count=1;
  89.                while ($row=mysql_fetch_array($sql))
  90.                {
  91.                      if (($count%2)==0)
  92.                         {//ES PAR:::    tabla de resultados
  93.                           echo "<tr class='odd'>";
  94.                              for ($i=0; $i< mysql_num_fields($sql); $i++)
  95.                              {
  96.                                  echo "<td>".$row[mysql_field_name($sql,$i)]."</td>";
  97.                              }
  98.                        
  99.                         }
  100.                         else{  
  101.                            //Es IMPAR :::   tabla de resultados
  102.                              echo "<tr class='even'>";
  103.                              for ($i=0; $i< mysql_num_fields($sql); $i++)
  104.                              {
  105.                                      echo "<td>".$row[mysql_field_name($sql,$i)]."</td>";
  106.                              }
  107.                          }
  108.                          echo "</tr>";
  109.                          $count+=1;
  110.                
  111.                  }//fin while
  112.          echo "</table>";
  113.  
  114. } //fin else
  115.  
  116.     //Muestra link de las paginas anteriores a la actual(en cado de existencia)
  117.         if($pagina>1)
  118.         {
  119.             echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
  120.             echo "<font face='verdana' size='-2'>anterior</font>";
  121.             echo "</a>&nbsp;";
  122.         }
  123.              
  124.     //Muestra la numeracion del paginado 1 2 3 ...
  125.     for($i=$inicio;$i<=$final;$i++)
  126.     {
  127.         if($i==$pagina)
  128.         {
  129.             echo "<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>";
  130.         }else{
  131.             echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."'>";
  132.             echo "<font face='verdana' size='-2'>".$i."</font></a>&nbsp;";
  133.         }
  134.     }
  135.  
  136.         //Link para moverse a la siguiente pagina si existe a partir de pagina actual
  137.         if($pagina<$numPags)
  138.     {
  139.         echo "&nbsp;<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>";
  140.         echo "<font face='verdana' size='-2'>siguiente</font></a>";
  141.     }
  142.  
  143.    
  144.          
  145.          
  146.     } //Funcion
  147.    
  148. }  //CLASE
  149. ?>
  #2 (permalink)  
Antiguo 11/07/2013, 16:59
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 17 años, 9 meses
Puntos: 5
Respuesta: paginacion php

Utiliza Ajax para la paginación
  #3 (permalink)  
Antiguo 22/07/2013, 09:28
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 11 meses
Puntos: 3
Respuesta: paginacion php

Que pasos seguiría para eso?

Etiquetas: grid, paginacion
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 17:50.