| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
| ARTICULO: Paginación de resultados con PHP y MySQL |
Se muestran 43 comentarios sin revisar
| elizabeth | 18/5/05 |
| Y como realizo una busqueda pero ahora por un rango de valores por ejemplo: Busqueda por precio: menos de $100.00 100.00 - 300.00 .... |
|
| clara | 09/8/05 |
| el enlace del ejemplo no funciona | |
| marisol | 27/8/05 |
| TE FELICITO ME AYUDARON UN MUNDO TUS PAGINAS, ES BUENO SABER QUE ALGUIEN UTILIZA EN INTRNET PARA BIEN. NO HE NAVEGADO AUN TODO PERO ESTOY BUSCADO COMO INSERTAS REGISTROS CON MYSQL Y PHP SI ES POSIBLE UN EJERCICIO COMPLETO TE LO AGRADECERIA MUCHO ATTE JOHANNA Y MARISOL UNIANDES - ECUADOR |
|
| Daniel Alberto | 28/8/05 |
| El codigo funciona perfectamente, pero en mi caso que utilizo PHP y MS -SQL Server no funciona ya que la clausula LIMIT no existe. | |
| krypto84sv | 29/8/05 |
| <? mssql_select_db("lib"); //Declaramos el tamaño de registros que se van a visualizar por pagina. $t=2; if(!isset($_GET['pagina'])) { $pagina=1; $inicio=0; } else { $pagina=$_GET['pagina']; $inicio=($pagina-1)*$t; } $sql="select * from administrador"; $r=mssql_query($sql); $total_paginas = ceil(mssql_num_rows($r) / $t); $lim_inferior=1; $lim_superior=1; while($f=mssql_fetch_array($r)) { //Con esta condición visualizamos los registros sin usar LIMIT. if ($lim_inferior>$inicio && $lim_superior<=$t) { echo $f['cod']."<br>\n"; echo $f['nombre']."<br>\n"; echo "<hr width=10% align=left>"; $lim_superior++; } $lim_inferior++; } for ($i=1;$i<=$total_paginas;$i++) { if ($i!=$pagina) { echo "<a href=$PHP_SELF?pagina=$i>$i</a> "; } else { echo $i." "; } } //alguna duda o sugerencia escribir: daniel_alberto84@hotmail.com ?> |
|
| Pedro | 23/9/05 |
| Me vino genial este tutorial. Lo estoy aplicando en http://www.solodisenio.com Muchas Gracias =D |
|
| Pedro | 23/9/05 |
| Me vino genial este tutorial. Lo estoy aplicando en <A HREF="http://www.solodisenio.com">Solo Diseño</A> Muchas Gracias =D |
|
| Hely Miguel | 31/10/05 |
| tengo un formulario como este, pero adicinalmente tengo un SELECT con las opciones PHP,ASP, COLSFUSION,SQL, cuando pagina la primera cantidad de resultados todo ok, pero al pasar a la segunda pagina se pierde el valor de la variable tipo_lenguaje QUE ES LA variable del select, es decir, como puedo mantener el valor de esa variable no se pierda y se mantegan mientras estee paginanado solo cambie cuando se cambie el valor del combo a otro lenguje para que pagine y me muestre todos los resultados | |
| mario castillo | 15/11/05 |
| esta funcion es para conectarse nativamente a una base de datos mssql, genera una tabla (datagrid), por el numero de campos seleccionados ej select * from tabla --> seleccionara todos los campos y mostrara una tabla (Datagrid)con todos los campos Select campo1,campo2 from tabla --> seleccionara solo 2 campos y mostrara una tabla de dos columnas. function consulta($query,$tamano) { $conn=mssql_pconnect("servidor","usuario","contrasena") or die("no se pudo conectar a la base de datos"); $bd=mssql_select_db("syscar",$conn); $t=$tamano;// tamano de la paginacion if(!isset($_GET['pagina'])) { $pagina=1; $inicio=1; } else { $pagina=$_GET['pagina']; $inicio=($pagina-1)*$t; } if (isset($_GET['campo']) && $_GET['campo']!="" ) { $ordena=$_GET['campo']+1; $query=$query." order by ".$ordena." ".$_GET['order']; } $recordset=mssql_query($query,$conn); $fields = mssql_num_fields ($recordset) or die("Num Fields Failed"); $rows = mssql_num_rows ($recordset); $total_paginas = ceil($rows / $t); $lim_inferior=1; $lim_superior=1; $i=0;//crea en numero de columnas $y=0; echo "<table border =2 class='style1'><tr>"; while ($i<$fields) { echo "<td>"; echo "<b>".mssql_field_name($recordset,$i)."</b><a href='".$_SERVER['PHP_SELF']."?campo=".$i."&order=Asc&pagina=".$_GET['pagina']."'><img src='../images/arriba.jpg' width='22' height='12' alt='ordenar ascendentemente por ".mssql_field_name($recordset,$i)."'></a><a href='".$_SERVER['PHP_SELF']."?campo=".$i."&order=DESC&pagina=".$_GET['pagina']."'><img src='../images/abajo.JPG' alt='ordenar descendentemente por ".mssql_field_name($recordset,$i)."' width='22' height='12'></a>"; echo "</td>"; $i=$i+1; } echo "</tr>"; ///encabezado $i=0; for ($y=0;$y<$rows;$y++) { $resultado=$y%2; if ($lim_inferior>$inicio && $lim_superior<=$t) { echo "<tr"; if ($resultado==0) echo " bgcolor='#bbccdd'>"; else echo " bgcolor='#ffffff'>"; while ($i<$fields) { echo "<td>"; echo mssql_result($recordset,$y,$i); echo "</td>"; $i=$i+1; } $i=0; $lim_superior++; } $lim_inferior++; echo "</tr>"; } echo "<tr><td colspan='".$fields."'>"; //paginacion for ($i=1;$i<=$total_paginas;$i++) { if ($i!=$pagina) { echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$i."&order=".$_GET['order']."&campo=".$_GET['campo']."'>".$i."</a> "; } else { echo "<b>".$i."</b> "; } } echo "</td></tr></table>"; } |
|
| julio | 20/12/05 |
| Estimado miguel he seguido todos tus conceptos y ideas y la verdad que me gusta, aparte de esatar en esto del diseño, te cuento que soy de uruguay y quiero hacerte una pregunta, tengo problemas con la paginacioon del mi guestbook y he usado las que tu dices pero no me funciona, aparte queiero saber como hacer para guardar archivos en la db, tanto fotos como cualquier otro, tambien queiro saber como hacer para descargar un fichero con php,recien estoy comenzando con php mas alla de haber echo cursos todavia me quedan dudas, gracias y espero respuesta,este es el link para que puedas ver como me quedo http://usuarios.lycos.es/decano2000/guestbook |
|
| melania | 03/1/06 |
| como mando como paràmetro a una funciòn lo que tengo en un cuadrode texto |
|
| Pablo | 25/1/06 |
| Muy excelente tutorial, me sirvio como base para construir un sistema de paginación el Perl, por si a alguien le interesa lo comentamos con mas calma Saludos y Felicidades |
|
| Alan | 31/1/06 |
| me pueden decir q tamaño de pagina tiene el mysql?? por favo lo agradeceria mucho | |
| TaLu | 16/5/06 |
| Muy bueno! Me ayudo mucho para la paginación de mis webs. Muchas gracias. |
|
| Jorge Luis | 24/5/06 |
| Muy bien el artículo, ahora tengo una duda. Si en vez de una consulta lo que tengo es accesos a la BD mediante procedimienos almacenados es claro que este script no me serviría. Existe algun metodo o algo que me sirva en esos casos? Alguien sabe donde puedo hallar un script que me sirva para esa funcionalidad?. Gracias. | |
| amadeogovoni1 | 29/5/06 |
| Quiero ver el resultado del link "ver el resultado para enterder el codigo" y da error ¿? :( | |
| J. Pedro | 11/8/06 |
| Muy bueno el código, me ha servido de mucha ayuda. Gracias | |
| Ana | 28/9/06 |
| Gracias por publicar estos artículos y ayudarnos en la construcción de nuestros proyectos. Yo he probado este código y me funciona casi perfectamente, lo único que no me aparece el primer registro de cada página. Por ejemplo, si el tamaño de las páginas es 20, no me aparece el registro nº1, nº21, ... ¿Alguién podría ayudarme? Muchas gracias. |
|
| Daniel Carrero | 28/9/06 |
| Tengo un ejemplo en Postgresql que puede ayudar: <? //Limito la busqueda $TAMANO_PAGINA = 10; //examino la página a mostrar y el inicio del registro a mostrar $pagina = $_GET["pagina"]; if (!$pagina) { $inicio = 0; $pagina=1; } else { $inicio = ($pagina - 1) * $TAMANO_PAGINA; } include("conexion.inc.php"); //miro a ver el número total de campos que hay en la tabla con esa búsqueda $ssql = "select * from tabla"; $rs = pg_query($connection,$ssql); $num_total_registros = pg_num_rows($rs); //calculo el total de páginas $total_paginas = ceil($num_total_registros / $TAMANO_PAGINA); //pongo el número de registros total, el tamaño de página y la página que se muestra echo "Número de registros encontrados: " . $num_total_registros . "<br>"; echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>"; echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>"; pg_free_result($rs); //construyo la sentencia SQL $ssql = "select * from tabla order by id_registro limit ".$TAMANO_PAGINA. " OFFSET " .$inicio.";"; echo $ssql; $rs = pg_query($connection,$ssql); while ($fila = pg_fetch_object($rs)){ echo "<br> ".$fila->campo ; } //cerramos el conjunto de resultado y la conexión con la base de datos pg_free_result($rs); pg_close($connection); //muestro los distintos índices de las páginas, si es que hay varias páginas if ($total_paginas > 1){ for ($i=1;$i<=$total_paginas;$i++){ if ($pagina == $i) //si muestro el índice de la página actual, no coloco enlace echo $pagina . " "; else //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página echo "<a href='paginacion.php?pagina=" . $i . "'>" . $i . "</a> "; } } ?> Espero que ayude algo :D Daniel Carrero |
|
| farid diego astorga | 16/10/06 |
| Muy buen articulo lo apliqué y aquí tengo el resultado http://www.laguiadejujuy.com/modules.php?name=Foros me ofrezco para darles una mano!!! agregenmen fda223@hotmail.com Gracias desarrolloweb!!! |
|
| niña | 13/1/07 |
| Duda si hago una paginación pero tengo un formulario con el cual indico la fecha de la consulta antes como hago que al mostrar otra pagina q no sea la primera me la muestre. Puesto que solo me muestra la fecha no es valida debido a q antes de la consulta de paginacion tengo validada la fecha |
|
| hola | 16/1/07 |
| Oigan alguien sabe como mantengo el valor de una variable que cuando se actualize para cambiar de pagina par seguri viendo los registros ese valor no se pierda pq al momento de perderse pues ya no me muestra lso demas datos |
|
| Covi | 27/1/07 |
| Hola, teneis jodida la conexión a la base de datos, error_reporting para todos o al menos los Warnigns y el ejemplo muestra todo el árbol de directorios del sitio.... 8) ...solo por si os interesa, que lo mismo no es malo pero bueno tampoco es gg ;) |
|
| Gaby | 11/2/07 |
Hola a todos, muy bueno el artículo!! Sólo quería acotar que si lo implementamos con el paquete DB de PEAR seria algo asi como: $query = "select * from pais"; $db->limitQuery ($query, $inicio, $cantidad); Esta un toque mas copado hacerlo con PEAR.. http://pear.php.net/manual/es/package.database.db.php Pruebenlo!! |
|
| Gaby | 11/2/07 |
| Otra cosita.. Si tomamos los valores de un formulario a traves de POST, cuando hacemos las referencias a las paginas siguientes o anteriores debemos mandarles dentro de la referencia los valores que necesita para poder procesar la query nuevamente, incluyendo la query (si tuviesemos varias querys en nuestro script y entrase a una segun los parametros).. Y debemos tener en cuenta que la primera vez que tomamos los valores los vamos a tomar con POST, pero las demas los obtenemos mediante GET..Por lo que podriamos hacer: $pagina = $_GET["pagina"]; if (!$pagina) { $inicio = 0; $pagina=1; // Tomo los valores mediante POST $nombre = $_POST['nombre']; } else { $inicio = ($pagina - 1) * $TAMANO_PAGINA; // Tomo los valores mediante GET $nombre = $_GET['nombre']; $query = $_GET['query']; } Espero no haberlos mareado!! Saludos.. |
|
| Mayra | 22/2/07 |
| Les agradeceria si me pudieran ayudar con algunas inquietudes que tengo: * Quisiera saber cual es la plataforma de WAMP * Cuantas capas tiene un programa hecho en dreamweaver PHP y WAMP * Como puedo tener mayor seguridad para que no se puedan ver las claves al abrir el codigo en dreamweaver * Si realizo una publicacion de un portal web pueden acceder a la contraseña * Cual es la cantidad maxima de registros que puede almacenar MySQL5 |
|
| amimusa | 17/3/07 |
| El enlace al ejemplo da errores de conexion a la base de datos. | |
| Javi | 18/4/07 |
| He intentado hacer la paginación pero me da este error: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in..... Aparentemente todo está bien, porque puede estar fallando? |
|
| Jorge | 16/5/07 |
| no he logrado conseguir lo siguiente: estoy agregando un registro, y remito el resultado a una página que me muestra los datos ingresados, ahora, hay un campo que no se toca porque es "auto_increment", y el valor se lo asigna el proceso INSERT, ahora, como obtengo ese valor para hacer la busqueda y mostrar la pag. de resultados. Ya intente el $_POST, pero eso no sirve ya que el valor no lo ingreso en el formulario, lo asigna el proceso mismo en el servidor. si saben de algo puntocomsoluciones@gmail.com Grax. |
|
| Luis | 18/5/07 |
| Estupendo artículo. Pensé que me llevaría horas adaptarlo a mi página, pero solo me llevo 10 minutos. Increible. Muchas gracias. |
|
| ESTRELLA | 27/5/07 |
| ME GUSTARIA SABER COMO HACER PARA PAGINAR LOS RESULTADOS DE DOS CONSULTAS DIFERENTES EN LA MISMA PAGINA POR EJEMPLO EN LA PAGINA TENGO DOS TABLAS EN UNA MUESTRA LOS RESULTADOS DE UNA CONSULTA Y EN OTRA TABLA MUESTRA LOS RESULTADOS DE OTRA CONSULTA....COMO SE HACE PARA MOSTRAR AMBOS RESULTADOS EN LA MISMA PAGINA Y QUE TENGA PAGINACION |
|
| jose | 29/5/07 |
| veo que aparece la opcion echo>a href="index.php" como escribo esa funcion o como la plantean ustedes |
|
| Victor | 04/6/07 |
| Hola e visto que todo ejemplo que tienen en esta pagina que utiliza una base de datos no funciona, supongo que es difícil mantener todos los ejemplos funcionado bien no mas como comentario. Pero tengo un problema, y como al parecer no revisan este artículo desde el 2004 espero que algún usuario de su página me eche una mano, En mi pagina se hace una búsqueda para mostrar los registros, pero como son muchos datos diferentes, por estética acomode solo un registro por pagina, y no tuviera problema si solo se mostrara un solo registro cuando se hace la búsqueda, por eso puse la paginación, el problema surge por que no es solo una tabla la que voy a mostrar, son varias tablas que lo único que tienen en común es el identificador del registro que les incluí a cada tabla es auto incrementable. Bueno ya logre implementar el patinador en la pagina pero solo me sirve para la primera pagina ya que cuando le doy a la segunda me marca errores. Es complicado de explicar el problema pero lo are lo mejor que pueda, ago la búsqueda y por medio de un switch según la opción que escojan y la palabra que el usuario escriba se hace la consulta, cuando switch selecciona la consulta yo extraigo el id, pero nomás me pone el primer numero que tenga del primer registro, así que hice el siguiente arreglo para obtener todos los de más registros: while($row = mysql_fetch_array($consulta)){ $i++; $id[$i] = $reg["contrato"]; } Ya con el ID muestro los datos de cada tabla con una consulta paresida a esta. $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `contrato` = CONVERT( _utf8 '".$id."' USING latin1 )";) Pero como hacer para que aguarre los distintos IDs que ay lo que hice fue ponerle un bucle while($i != $num_total_registros){ $i++; $consulta=mysql_query("select * from `contrato_real` where `contrato` = CONVERT( _utf8 '".$id[$i]."' USING latin1 )".$criterio." limit ".$inicio.",".$tamano_pagina.""); Pero así por cada ves que tenga un registro se ara la consulta, no se como solucionar eso es pero que me ayuden, y también tienes que incluir un ciclo para mostrar los datos Ami me quedo asi. while ($fila = mysql_fetch_object($consulta)){ El primer bucle contiene al Segundo, es decir que el while que me servia para que el ID fuera cambiando, contiene el while que me sirve para mostrar lo tiene que contener para que muestre los datos según la consulta que va. Curiosamente el primer registro se mostró correctamente y sin error pero cuando intento pasarme a otra registro por medio de la paginación me marca estos errores en las siguientes líneas: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sistema\clientes\buscontrato.php on line 100 100>$num_total_registros = mysql_num_rows($consulta); Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sistema\clientes\buscontrato.php on line 110 110>while($row = mysql_fetch_array($consulta)){ Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sistema\clientes\buscontrato.php on line 114 114>mysql_free_result($consulta); Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\sistema\clientes\buscontrato.php on line 115 115>mysql_close($base); Parese que los todos los errores son causa del primer error, pues esa es miduda es pero que alguien la pueda responder, Suerte a todos cn sus paginas, a continuación les pongo el codigo completo. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Resultados</title> <script type="text/javascript"> function buscar(){ window.location.href="buscador.html"; } function principal(){ window.location.href="../inicio.html"; } </script> </head> <body> <!-- Aqui se obtiene el id para la consultas siguientes --> <? $clave = $_GET[con]; $palabra = $_GET[palabra]; switch($clave): case "id": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `contrato` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "nombre": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `nombre` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "calle": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `calle` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "colonia": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `colonia` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "localidad": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `localidad` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "cp": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `cp` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "tel1": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `telefono1` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "tel2": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `telefono2` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "tel3": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `telefono3` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "meil1": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `email1` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; case "meil2": $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); $consulta=mysql_query("select * from `contrato_real` where `email2` REGEXP CONVERT( _utf8 '".$palabra."' USING latin1 )"); $reg = mysql_fetch_array($consulta); break; endswitch; $tamano_pagina = 1; // se examina pagina a mostrar y el indice del registro $pagina = $_GET["pagina"]; if(!$pagina){ $inicio = 0; $pagina = 1; }else{ $indice = ($pagina * tamano_pagina); } // mostrar el numero total de registors $num_total_registros = mysql_num_rows($consulta); //calculo total de las paginas a mostrar $total_paginas = ceil($num_total_registros / $tamano_pagina); //se muestra el tamano de la pagina total, el tamano de la pagina y la pagina que se esta mostrando echo "<center>"; echo "Registros encontrados: " . $num_total_registros . "<br>"; echo "Se muestran páginas de " . $tamano_pagina . " registros cada una<br>"; echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>"; echo "</center>"; while($row = mysql_fetch_array($consulta)){ $i++; $id[$i] = $reg["contrato"]; } mysql_free_result($consulta); mysql_close($base); ?> <!-- Esta es la parte del contrato --> <? if($id[$i] != ""){ ?> <? $i=0; $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); while($i != $num_total_registros){ $i++; $consulta=mysql_query("select * from `contrato_real` where `contrato` = CONVERT( _utf8 '".$id[$i]."' USING latin1 )".$criterio." limit ".$inicio.",".$tamano_pagina.""); while ($fila = mysql_fetch_object($consulta)){ ?> <table border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Nombre:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->nombre ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Calle y Numero:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->calle ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center"width="150px"><font size="2">Colonia:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->colonia ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Localidad:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->localidad ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Codigo Postal:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->cp ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Telefono1:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->telefono1?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Telefono2:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->telefono2?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Telefono3:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->telefono3?></td> </tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">E-mail 1:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->email1?></td> </tr> </tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">E-mail 2:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->email2?></td> </tr> <tr> <td colspan="2"><center><a href="modcontrato.php"><img src="../imagenes/Modificar_resultados.gif" border="0"/></a></center></td> </tr> </table> <? }//fin del while que muestra las filas }//fin de while pra el id mysql_close($base)?> <!-- Esta es la parte de Facturacion --> <? $i=0; $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); while($i != $num_total_registros){ $i++; $consulta=mysql_query("select * from `facturas_real` where `id` = CONVERT( _utf8 '".$id[$i]."' USING latin1 )".$criterio." limit ".$inicio.",".$tamano_pagina.""); while ($fila = mysql_fetch_object($consulta)){ ?> <table border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Nombre:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->nombre ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Direccion:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->direccion ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">localidad:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->localidad ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Codigo Postal:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->cp ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">R.F.C.:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->rfc ?></td> </tr> <tr> <td colspan="2"><center><a href="modfactura.php"><img src="../imagenes/Modificar_resultados.gif" border="0"/></a></center></td> </tr> </table> <? }//fin del while que muestra las filas }//fin de while pra el id mysql_close($base)?> <!-- Esta es la parte de Servicio --> <? $i=0; $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); while($i != $num_total_registros){ $i++; $consulta=mysql_query("select * from `servicios_real` where `id` = CONVERT( _utf8 '".$id[$i]."' USING latin1 )".$criterio." limit ".$inicio.",".$tamano_pagina.""); while ($fila = mysql_fetch_object($consulta)){ ?> <table border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Servicio:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->servicio ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Modalidad:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->modalidad ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Duracion:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->duracion ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Fecha de Pago:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->fecha ?></td> </tr> <tr> <td background="../imagenes/fon_res4.gif" align="center" colspan="2"><font size="2">Observaciones:</font></td> </tr> <tr> <td align="center" colspan="2" background="../imagenes/obfon.gif" height="100"><? echo $fila->observaciones ?></td> </tr> <tr> <td colspan="2"><center><a href="modservicio.php"><img src="../imagenes/Modificar_resultados.gif" border="0"/></a></center></td> </tr> </table> <? }//fin del while que muestra las filas }//fin de while pra el id mysql_close($base)?> <!-- Esta es la parte de Detos del Equipo --> <? $i=0; $base=mysql_connect("localhost","root",""); mysql_select_db("clientes",$base); while($i != $num_total_registros){ $i++; $consulta=mysql_query("select * from `datos_final` where `id` = CONVERT( _utf8 '".$id[$i]."' USING latin1 )".$criterio." limit ".$inicio.",".$tamano_pagina.""); while ($fila = mysql_fetch_object($consulta)){ ?> <table border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Mac Address:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->macaddress ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">No. Serie:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->serie ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Ancho de Banda:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->ancho ?> Kbts</td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Color Code:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->color ?></td> </tr> <tr> <td background="../imagenes/fondo_resultados.gif" align="center" width="150px"><font size="2">Plato:</font></td><td background="../imagenes/fon_res2.gif" align="center" width="220px"><? echo $fila->plato ?></td> </tr> <tr> <td colspan="2"><center><a href="modequipo.php"><img src="../imagenes/Modificar_resultados.gif" border="0"/></a></center></td> </tr> <? }//fin del while que muestra las filas }//fin de while pra el id mysql_close($base)?> <tr> <td align="center" colspan="2"> <? if ($total_paginas > 1){ for ($i=1;$i<=$total_paginas;$i++){ if ($pagina == $i){ //si muestro el índice de la página actual, no coloco enlace echo $pagina . " "; }else{ //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página echo "<a href='buscontrato.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> "; } } } ?> </td> </tr> <tr> <td colspan="2" align="center"> <button name="buscar" onclick="buscar();">Buscar mas Registros</button><button name="menu" onclick="principal();">Menu Principal</button></td> </tr> </table> <? }else{ echo "No existe ningún registro con esas características"; //header("Location:buscador.html"); } ?> </body> </html> |
|
| Mario Castillo | 03/10/07 |
| <?php function consulta($query,$tamano) { $conn=mysql_connect(\\\"localhost\\\",\\\"root\\\",\\\"\\\") or die(\\\"no se pudo conectar a la base de datos\\\"); $bd=mysql_select_db(\\\"nombre_base_de_datos\\\",$conn); $t=$tamano;// tamano de la paginacion if(!isset($_GET[\\\'pagina\\\'])) { $pagina=1; $inicio=1; } else { $pagina=$_GET[\\\'pagina\\\']; $inicio=($pagina-1)*$t; } if (isset($_GET[\\\'campo\\\']) && $_GET[\\\'campo\\\']!=\\\"\\\" ) { $ordena=$_GET[\\\'campo\\\']+1; $query=$query.\\\" order by \\\".$ordena.\\\" \\\".$_GET[\\\'order\\\']; } $recordset=mysql_query($query,$conn); $fields = mysql_num_fields ($recordset) or die(\\\"Num Fields Failed\\\"); $rows = mysql_num_rows ($recordset); $total_paginas = ceil($rows / $t); $lim_inferior=1; $lim_superior=1; $i=0;//crea en numero de columnas $y=0; echo \\\"<table border =2 class=\\\'style1\\\'><tr>\\\"; while ($i<$fields) { echo \\\"<td>\\\"; echo \\\"<b>\\\".mysql_field_name($recordset,$i).\\\"</b><a href=\\\'\\\".$_SERVER[\\\'PHP_SELF\\\'].\\\"?campo=\\\".$i.\\\"&order=Asc&pagina=\\\".$_GET[\\\'pagina\\\'].\\\"\\\'><img src=\\\'../images/arriba.jpg\\\' width=\\\'22\\\' height=\\\'12\\\' alt=\\\'ordenar ascendentemente por \\\".mysql_field_name($recordset,$i).\\\"\\\'></a><a href=\\\'\\\".$_SERVER[\\\'PHP_SELF\\\'].\\\"?campo=\\\".$i.\\\"&order=DESC&pagina=\\\".$_GET[\\\'pagina\\\'].\\\"\\\'><img src=\\\'../images/abajo.JPG\\\' alt=\\\'ordenar descendentemente por \\\".mysql_field_name($recordset,$i).\\\"\\\' width=\\\'22\\\' height=\\\'12\\\'></a>\\\"; echo \\\"</td>\\\"; $i=$i+1; } echo \\\"</tr>\\\"; ///encabezado $i=0; for ($y=0;$y<$rows;$y++) { $resultado=$y%2; if ($lim_inferior>$inicio && $lim_superior<=$t) { echo \\\"<tr\\\"; if ($resultado==0) echo \\\" bgcolor=\\\'#bbccdd\\\'>\\\"; else echo \\\" bgcolor=\\\'#ffffff\\\'>\\\"; while ($i<$fields) { echo \\\"<td>\\\"; echo mysql_result($recordset,$y,$i); echo \\\"</td>\\\"; $i=$i+1; } $i=0; $lim_superior++; } $lim_inferior++; echo \\\"</tr>\\\"; } echo \\\"<tr><td colspan=\\\'\\\".$fields.\\\"\\\'>\\\"; //paginacion for ($i=1;$i<=$total_paginas;$i++) { if ($i!=$pagina) { echo \\\"<a href=\\\'\\\".$_SERVER[\\\'PHP_SELF\\\'].\\\"?pagina=\\\".$i.\\\"&order=\\\".$_GET[\\\'order\\\'].\\\"&campo=\\\".$_GET[\\\'campo\\\'].\\\"\\\'>\\\".$i.\\\"</a> \\\"; } else { echo \\\"<b>\\\".$i.\\\"</b> \\\"; } } echo \\\"</td></tr></table>\\\"; } ?> <?php //envias la consulta que necestias $var=consulta(\\\"select nombre_empresa,codigo_empresa from empresas\\\",1000); echo $var; ?> |
|
| cristina | 02/11/07 |
| Sabes que me sirvio mucho este script aunq tuve que hacer algunas adaptaciones | |
| Carlos | 11/11/07 |
| Ojito con eso de pasar la condición como parámetro que luego te pueden inyectar sql y hacerte un destrozo. | |
| evelin | 07/1/08 |
| kiero un manual completo de php y mysql | |
| bailamj | 17/3/08 |
| Genial artículo, me ha servido a la perfección! :) tengo nociones de php pero ha sido perfecto. por cierto, ahora que ya tengo la paginación, cómo hago que cada artículo/tema que saco de la base de datos (en el ejemplo pais) salga con una url amigable? sería fácil? Gracias! |
|
| Giancarlo | 16/4/08 |
| Una pregunta, ¿Es posible hacer la misma paginacion pero utilizando procedimientos almacenados? si es asi por favor si podrian poner un ejemplo. Gracias. | |
| Adam | 07/5/08 |
| muy buen articulo, me sirvio de mucho gracias :D | |
| Ramon | 16/5/08 |
| muy bueno el post creo que esta muy completo! |
|
| Silvia | 17/7/08 |
| Excelente articulo, lo he aplicado y me ha funcionado muy bien. No estoy utilizando HTML pero la filosofia era lo que me hacia falta! :) | |
| villaherre | 27/8/08 |
| muchas gracias por el ejercicio muy excelente. sin embargo tengo un inconveniente pues la verdad yo no estoy usando el campo de visible porque necesito que me muestre todas las noticias sin embargo en la consulta tengo que validar lo que hay en el campo de texto para que me muestre las noticias pero solo me muestra la primera pagina y al pasa a la segunda pagina me muestra la validacio que le tengo "no hay resultados" como soluciono este problema pero cuando lo dejo estatico es decir que en el campo numero='1'; hay si me muestra todas las paginas pero asi no lo necesito a continuacion dejo el codigo que tengo: $resultados = mysql_query("select * from acuerdos where numero =$TxtAcuerdo"); $total_registros = mysql_num_rows($resultados); $resultados = mysql_query( "select * from acuerdos where numero =$TxtAcuerdo ORDER BY año ASC LIMIT $inicio,$registros"); $total_paginas = ceil($total_registros / $registros); echo "<p>Número de Acuerdos encontrados: ".$total_registros."</p><br>"; if($total_registros) { while($row=mysql_fetch_array($resultados)) { echo "<p><strong>"." No de Acuerdo: "; echo stripslashes($row["numero"]); echo "</strong><br>Año: "; echo stripslashes($row["año"]); echo "<br>Fecha: "; echo stripslashes($row["fecha"]); echo "<br>Asunto: "; echo stripslashes($row["asunto"]); echo "<br><br>"; } } else { echo "<font color='darkgray'>(sin resultados)</font>"; } |
|
| Ver el articulo y todos sus comentarios | |
| Añadir un comentario del artículo |
|
Comentarios no revisados de: |