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:

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

Web's en estos casos lo que debes hacer es recuperar la id de inserci

Enviado por bal (no verificado) el Mar, 04/17/2007 - 00:59.
Gerardo y chicos, su

Gerardo y chicos, suscr

Enviado por bal (no verificado) el Mar, 04/17/2007 - 01:04.
Hola, necesito una m

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

Enviado por web's (no verificado) el Jue, 04/19/2007 - 14:02.
los codigos php esta

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

Enviado por carrera (no verificado) el Mar, 08/21/2007 - 18:33.
Mostrar correctament

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

Enviado por web's (no verificado) el Jue, 08/23/2007 - 10:03.
podrias porfavor man

podrias porfavor mandar de nuevo  el codigo de la paginacion no se ve :(  graciasssss

Enviado por Suzy (no verificado) el Sáb, 12/08/2007 - 08:13.
Hola Bal

Hola Bal

Enviado por Gabi (no verificado) el Jue, 02/28/2008 - 06:35.
Hola Bal

Hola Bal

Enviado por Gabi (no verificado) el Jue, 02/28/2008 - 06:41.

Deja tu comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de lĂ­neas y de párrafos.

Más información sobre opciones de formato