como puedo hacer una paginacion de datos usando un campo textfield y un submit.
Gracias
| |||
No me has comprendido del todo. Te explico un poco mejor, tengo una tabla de productos con 100 resultados y cuando quiero mostrar esos productos en una pagina lo que hago es paginarlos en forma tradicional: //************************************** //Paginación de resultados //mostrando 10 registros por página 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - Siguiente>> //************************************** Ahora lo que realmente quiero lograr es que en un campo text poner el numero de la pagina que quero ver y al presionar un boton me muestre esa pagina con sus diez resulados por ejemplo la pagina 3. Como tendria que hacerlo? |
| |||
Pues sería lo mismo que haces para paginar .. es decir, tu cuando generas tus links de paginado seguro que los apuntas a tal scritp PHP con tales variables para hacer ese proceso. <a href="resultados.php?pagina=X">X</a> pues se trataría en ese caso de que hagas un simple formulario HTML que apunte su "action" a ese "resultados.php" y tenga la variable (input) "pagina" y que use el método "GET" (method) <form action="resultados.php" method="GET"> <input type="text" name="pagina"> botón de enviar .. </form> Todo depende de tu código actual de paginado .. pero en generar sea como sea se trata de montar tu formulario HTML como te muestro con las variables que tu link genera para el paginado .. A lo sumo algún cálculo tendrías que hacer si es que en tus links de paginado indicas "punteros" (no páginas que por otro lado calcules los "LIMIT X,Y" que corresponda ..) Un saludo
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
![]() lo encontre esta es una parte y la mas importante Código PHP:
Código:
las que avancan y retroceden<< < > >> espero que te sirva y sea esto lo que buscas Última edición por .php; 26/07/2006 a las 09:53 |
| |||
Cluster he tratado de hacer como me sugeriste pero no me ha salido, no me muestra ningun resultado aca muestro como tengo hecho la paginacion en mi pagina en forma tradicional:
Código:
lo que quisiera poder hacer es que en ves de mostrarme la cantidad de paginas para navegar como links, seria poder poner en un textfield el numero de pagina a la que quiero ir y un boton que diga ir.<? require_once("con.php");//datos de coneccion require_once("sis.php"); /* Opciones configurables */ $CampoOrden = cd_param('CampoOrden'); $TipoOrden = cd_param('TipoOrden'); $Pagina = intval(cd_param('Pagina')); if ($Pagina <= 0) $Pagina = 1; $NombreTipoRegistro = ' registro'; // Nombre tipo de registro $NombreTipoRegistroPlu = ' registros'; // Nombre tipo de registros en Plural $NombreClaseReg = 'encontró '; $NombreClaseRegPlu = 'encontraron '; $arrListaCampos = array('nombre', 'descripcion'); $arrListaEncabezados = array('Producto', 'Descrip'); $Tabla = 'tbl_productos'; // Tabla sobre la cual trabajaremos $PK = 'id_prod'; // Nombre del campo Clave Principal $CampoOrdenPre = $PK; // Campo de orden predeterminado $TipoOrdenPre = 'asc'; // Tipo de orden predeterminado $RegPorPag = 5; // Cantidad de registros por página if(!$CampoOrden) $CampoOrden = $CampoOrdenPre; if(!$TipoOrden) $TipoOrden = $TipoOrdenPre; $PrimReg = ($Pagina - 1) * $RegPorPag; $sqlCuenta = "SELECT COUNT($PK) FROM $Tabla"; $sqlDatos = "SELECT * FROM $Tabla ORDER BY $CampoOrden $TipoOrden LIMIT $PrimReg, $RegPorPag"; /* Fin opciones configurables */ // Cuento la cantidad de registros sin LIMIT $result = @mysql_query($sqlCuenta); if (cd_control_error($result, $sqlCuenta)) exit(); $CantReg = mysql_result($result,0, 0); // Ejecuto la consulta $result = @mysql_query($sqlDatos); if (cd_control_error($result, $sqlDatos)) exit(); ?> <html> <head> <title>Páginación de resultados</title> </head> <body> <? //establesco si hay o no resultados if ($CantReg<1) echo "<p>No se encontraron $NombreTipoRegistroPlu</p>"; if (mysql_num_rows($result)){ ?> Se <? if ($CantReg>1) echo $NombreClaseRegPlu; else echo $NombreClaseReg; ?> <?=$CantReg?> <? if ($CantReg>1) echo $NombreTipoRegistroPlu; else echo $NombreTipoRegistro; ?> <br><br> <? while ($rs = mysql_fetch_array($result)){ echo $rs['nombre']." - ".$rs['descripcion'].'<br>'; } if (ceil($CantReg/$RegPorPag) > 1){ echo "<p>Página $Pagina: Mostrando $CantMostrados de $CantReg $NombreTipoRegistroPlu</p>\r\n"; echo "<p>"; if ($Pagina > 1) echo "<a href=\"{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}&Pagina=". ($Pagina-1) ."\" class='linkBordo'>Anterior</a>"; if ($Pagina > 1 && $Pagina<ceil($CantReg/$RegPorPag)) echo " - "; if ($Pagina<ceil($CantReg/$RegPorPag)) echo "<a href=\"{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}&Pagina=". ($Pagina+1) ."\" class='linkBordo'>Siguiente</a>"; echo " | Páginas: "; $strPaginas = ''; for($i=1;$i<=ceil($CantReg/$RegPorPag);$i++){ if ($i == $Pagina) $strPaginas .= "<b>"; else @$strPaginas .= "<a href=\"{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}&Pagina=". $i ."\" class='linkBordo'>"; $strPaginas .= $i; if ($i == $Pagina) $strPaginas .= "</b> - "; else $strPaginas .= "</a> - "; } echo substr($strPaginas, 0, strlen($strPaginas) - 3); } } ?> </body> </html> les agradeceria si me pudieran mostrar un ejemplo para que lo pueda entender mejor. Mil gracias |
| |||
El ejemplo que te mostré (el formulario) .. debes tener presente que si tu en tu sistema propagas más variables también tendrás que añadirlas al formulario .. de hecho tu usas unas cuantas: Sobre todo las que vienen del "QUERY_STRING" + la que llama "Pagina" que es el paginado en sí ... "<a href=\"{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}&Pagina=". $i ."\" class='linkBordo'>"; $strPaginas .= $i; realmente no indentifico en tu código las variables que usas (en el URL propagadas) pero son esas las que tienes que propagar en el formulario, usando campos hidden y dando sus value con tus variables .. <input type="hidden" name="nose" value="<? echo $_GET['nose'] ?>"> Y así con todas las que tengas .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
lo que tu deberia tener en tu codigo seria algo asi Código PHP: Código HTML: <form name="form1" method="post" action="" > Nª de pagina <input type="text" name="PagNum" size=5> <input type=submit name=btn_ir value="ir"> </form> |