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
<?php // Lo siguiente carga un DATAGRID con toda la informacion de la tabla usuarioperfil /*Incluimos el fichero de la clase*/ require '../lib/DBgrida.class.php'; echo "<div class='centraTabla'>"; //Realizamos la consulta a la base de datos y controlamos que nos devuelva $result="SELECT usuario,Perfilid FROM usuarioperfil"; $grid = new DBgrida($result); echo "</div>"; ?>
Lo siguiente es la clase grid con la paginacion
Código PHP:
Ver original
<?php class DBgrida{ var $result; //$result es la consulta function DBgrida($result) { $this->result=$result; if($numeroRegistros<=0) { echo "<div align='center'>"; echo "<font face='verdana' size='-2'>No se encontraron resultados</font>"; echo "</div>"; }else{ //////////elementos para el orden { $orden="user"; } //////////fin elementos de orden //////////calculo de elementos necesarios para paginacion //tamaño de la pagina $tamPag=5; //pagina actual si no esta definida y limites { $pagina=1; $inicio=1; $final=$tamPag; } else { $pagina = $_GET["pagina"]; } //calculo del limite inferior $limitInf=($pagina-1)*$tamPag; //calculo del numero de paginas { $pagina=1; $inicio=1; $final=$tamPag; }else{ $inicio=($seccionActual*$tamPag)+1; if($pagina<$numPags) { $final=$inicio+$tamPag-1; }else{ $final=$numPags; } if ($final>$numPags){ $final=$numPags; } } //////////fin de dicho calculo echo "<table class='tbDatos'>"; echo "<tr class='tbDatos'>"; //IMPRIME ENCABEZADOS DE LA TABLA } echo "</tr>"; $sqls=$this->result." Limit ".$limitInf.",".$tamPag; echo $this->result; //$res=mysql_query($sql); echo "Limite inferior".$limitInf; echo "NumPAgina".$tamPag; //IMPRIME LOS REGISTROS DE LA CONSULTA $count=1; { if (($count%2)==0) {//ES PAR::: tabla de resultados echo "<tr class='odd'>"; { } } else{ //Es IMPAR ::: tabla de resultados echo "<tr class='even'>"; { } } echo "</tr>"; $count+=1; }//fin while echo "</table>"; } //fin else //Muestra link de las paginas anteriores a la actual(en cado de existencia) if($pagina>1) { echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>"; echo "<font face='verdana' size='-2'>anterior</font>"; echo "</a> "; } //Muestra la numeracion del paginado 1 2 3 ... for($i=$inicio;$i<=$final;$i++) { if($i==$pagina) { echo "<font face='verdana' size='-2'><b>".$i."</b> </font>"; }else{ echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."'>"; echo "<font face='verdana' size='-2'>".$i."</font></a> "; } } //Link para moverse a la siguiente pagina si existe a partir de pagina actual if($pagina<$numPags) { echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>"; echo "<font face='verdana' size='-2'>siguiente</font></a>"; } } //Funcion } //CLASE ?>