Mostrar Resultados Horizontalmente y Paginados con PHP y MySQL
1Explicar desde el principio este script resultaría redundante, pues ya hemos tratado parte de este tema, para ello los remito a:
- Mostrar Resultados de una Consulta a la Base de Datos en Dos columnas
- Paginar Resultados con PHP y MySQL
Sin embargo, ahora nuestro objetivo es algo distinto, vamos a mostrar los resultados horizontalmente, para esto seguiremos los siguientes pasos:
En primer lugar, descárgate el código de la sección descargas.
Con tu código a la vista, procedemos a explicarlo:
La Consulta a la BD
Ya mencionábamos la importancia de la función sprintf pues nos permite hacer límites a nuestra consulta a la BD MySQL. De esta manera la consulta nos muestra todos los resultados, y con sprintf vamos limitando de que número de filaBD y cuantas filasBD vamos a mostrar, almacenando esa información en variables. Veamos este bloque de código:
$maximo_consulta = 3;
$iniciar_consulta = 0;
if (isset($_GET['iniciar_consulta'])) {
$iniciar_consulta = $_GET['iniciar_consulta'];
}
$empezar_fila = $iniciar_consulta * $maximo_consulta;
mysql_select_db($database, $connBD);
$consulta1 = "SELECT id_img FROM tabla ORDER BY id_art ASC";
$limite_fila1 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta);
$resultado1 = mysql_query($limite_fila1, $connBD) or die(mysql_error());
$fila1 = mysql_fetch_assoc($resultado1);
$limite_fila2 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+3, $maximo_consulta);
$resultado2 = mysql_query($limite_fila2, $connBD) or die(mysql_error());
$fila2 = mysql_fetch_assoc($resultado2);
$limite_fila3 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+6, $maximo_consulta);
$resultado3 = mysql_query($limite_fila3, $connBD) or die(mysql_error());
$fila3 = mysql_fetch_assoc($resultado3);
Como puedes darte cuenta con sprintf vamos limitando el inicio de cada resultado, pero a todos le asignamos un número máximo de filasBD a mostrar. Basta con modificar la variable $maximo_consulta y se mostrarán más o menos según elijas. Eso si, si vas a modificarla también se debe cambiar el número sumado a la variable $empezar_fila para que se mantenga la correlación.
Mostrar Resultados Horizontalmente
La segunda parte del código que nos interesa es como mostrar la consulta horizontalmente, para esto nos valemos del bucle do…while…
<table>
<tr>
<td colspan="3"><strong>Numeros Extraidos <br />de la Base de Datos</strong> </td>
</tr><tr>
<?php do { ?>
<td>Imagen <?php echo $fila1['id_art']; ?></td>
<?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>
</tr>
<tr>
<?php do { ?>
<td>Imagen <?php echo $fila2['id_art']; ?></td>
<?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>
</tr>
<tr>
<?php do { ?>
<td>Imagen <?php echo $fila3['id_art']; ?></td>
<?php } while ($fila3 = mysql_fetch_assoc($resultado3)); ?>
</tr>
</table>
Esto es simple, creamos una tabla y aplicamos el bucle sólo a las etiquetas td, en este caso creamos tres filas y a cada una el bucle con los límites ya vistos.
Finalmente la Paginación
Para variar del videotutorial, vamos a crear una paginación textual, como puedes ver el código es claro, en cuanto al inicio y fin no hay ninguna modificación que debas hacer, pero si cambias el numero de resultados de la consulta, se debe cambiar el numero que sumas a la variable $iniciar_consulta en los links.
Con esto ya tienes tu paginación de resultados horizontalmente.
Pueden ver el resultado desde este enlace.





Web's en estos casos lo que debes hacer es recuperar la id de inserci
- responder
Enviado por bal (no verificado) el Mar, 04/17/2007 - 00:59.Gerardo y chicos, suscr
- responder
Enviado por bal (no verificado) el Mar, 04/17/2007 - 01:04.Hola, necesito una mano con esto: estoy realizando un foro y en la parte en que se "CITA" un post de un mensaje x no se cual es la mejor manera de hacerlo, tengo una BD , una tabla foro y dentro de ella un campo respuesta(text) donde llegaran las respuestas o citas del mensaje contestado. hola, yo utilizo template y dentro text area donde se escriben mensajes coloco esto: set_var("comentario","corcheteQUOTE=$fqr2->usuario]" . $_REQUEST['r'] . "corchete/QUOTEcorchete"); donde $fqr2->usuario es el usuario que escribio el mensaje y $_REQUEST['r'] es el mensaje, ahora para imprimir los resultados como se hace para que los mismos aprarescan sin el "corcheteQUOTEcorchetecorchete/QUOTEcorchete", est
- responder
Enviado por web's (no verificado) el Jue, 04/19/2007 - 14:02.los codigos php estan buenos pero falta hacer un tutorial de busqueda es decir buscar registros desde un combobox(select) por ejemplo por categorias y luego paginarlos espero pronto halla y una publicacio sobre el temasalu2
- responder
Enviado por carrera (no verificado) el Mar, 08/21/2007 - 18:33.Mostrar correctamente resultados de BD!!! Hola, estoy haciendo la pagina index de un foro y quisiera mostrar correctamente sus resultados generados desde BD, para ejemplificar mejor es como el index de este foro, que en ella esta dividida por categorias y subcategorias y lo quiero tal cual est
- responder
Enviado por web's (no verificado) el Jue, 08/23/2007 - 10:03.podrias porfavor mandar de nuevo el codigo de la paginacion no se ve :( graciasssss
- responder
Enviado por Suzy (no verificado) el Sáb, 12/08/2007 - 08:13.Hola Bal
- responder
Enviado por Gabi (no verificado) el Jue, 02/28/2008 - 06:35.Hola Bal
- responder
Enviado por Gabi (no verificado) el Jue, 02/28/2008 - 06:41.Deja tu comentario