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.

hola, un ejemplo de

hola, un ejemplo de "Numerar filas" como este: 1. columna1, columna2, columna3,...,columna202. columna1, columna2, columna3,...,columna203. columna1, columna2, columna3,...,columna20...20. columna1, columna2, columna3,...,columna20pero que sean paginadas, o sea ,que la "Numeracion de filas" continuen en forma asendente o desndente en la pagina  que le sigue y no que vuelvan a empesar nuevamente la "Numeracion".Espero haber sido claro y que entiendan... Gracias 

Enviado por web (no verificado) el Vie, 01/26/2007 - 16:07.
Hola web, nunca hab

Hola web, nunca hab

Enviado por Bal (no verificado) el Vie, 01/26/2007 - 16:23.
ok, ya se pero lo qu

ok, ya se pero lo quisiera a lo largo de una paginacion, una pagina con las filas numeradas, la otra pagina que sigue con las filas numeradas correlatimamente a la anterior y asi susecivamente y no que comience a numerarse desde el principo nuevamente en cada paginagracias!.

Enviado por web's (no verificado) el Vie, 01/26/2007 - 17:55.
Hola Webs, una alter

Hola Webs, una alternativa es añadir una nueva variable a la paginaci

Enviado por Bal (no verificado) el Dom, 01/28/2007 - 00:43.
hola Balu, disculpas

hola Balu, disculpas pero soy medio nuevo en esto, si me prodrias dar un ejemplo de ello estare agradecidosalu2! 

Enviado por web's (no verificado) el Mar, 01/30/2007 - 07:48.
Hola Web's. He vuelt

Hola Web's. He vuelto a leer tus preguntas y creo que las entend

Enviado por Bal (no verificado) el Mar, 01/30/2007 - 08:58.
Hola gente, primero

Hola gente, primero que nada aclaro que soy nuevo en este tema. Lo que necesito es ayuda para "Numerar filas" con paginaci

Enviado por web's (no verificado) el Mar, 01/30/2007 - 17:04.
Web's espero que hay

Web's espero que hayas visto el videotutorial de paginaci

Enviado por Bal (no verificado) el Mié, 01/31/2007 - 00:18.
Ok, muchas gracias p

Ok, muchas gracias por tu ayuda!!! Saludos!!! 

Enviado por web's (no verificado) el Mié, 01/31/2007 - 13:09.
Ok, ya lo probe y fu

Ok, ya lo probe y funciona perfectamente...nuevamente graciasSalu2! 

Enviado por web's (no verificado) el Mié, 01/31/2007 - 13:37.
De nada, un saludo

De nada, un saludo

Enviado por Bal (no verificado) el Mié, 01/31/2007 - 17:24.
Hola, nueva consulta

Hola, nueva consulta, utilizando un ejemplo x de un listado de usuarios logeados pero especificamente cuando los ordenamos por ejemplo por fecha y hora registrado en BD en forma ASC o DESC ("esteo es lo que quiero pero en forma cronologica") quisiera saber si me podes ayudar a mejorarlo, ya que si bien en el ejemplo que tengo me los ordena, pero no correlativamente en fecha calendario sino por abecdario en forma ASC y/o DESC, si vos o aguien me puede ayudar estare muy agradecido. Gracias y Saludos!!!

Enviado por web's (no verificado) el Mié, 01/31/2007 - 18:57.
Hola, hay alguien...

Hola, hay alguien...?????, si lo hay por favor ayudarme. El campo en cuestion es un solo y se llama "fecha_y_hora" ya probe "order by fecha_y_hora" y me lo ordenaba alfabeticamente y no por fecha calendario como quer

Enviado por web's (no verificado) el Vie, 02/02/2007 - 13:43.
Hola, excelente tuto

Hola, excelente tutorial, me ha sido de ayuda increible.Lo unico que me gustaria me hicieran el favor de ayudarme es con un LINK en cada imagen que se vaya a la informacion de cada foto, tenia una forma y funcionaba pero no se como implementarlo con la que descargue de aqui.Gracias!

Enviado por David777 (no verificado) el Vie, 02/02/2007 - 16:30.
Hola Web's, no neces

Hola Web's, no necesitas dar formato en mysql, puedes hacer en php. Te recomiendo utilices split y list para partir el string y almacenar la informaci

Enviado por Bal (no verificado) el Vie, 02/02/2007 - 16:53.
David777, tienes que

David777, tienes que crear m

Enviado por Bal (no verificado) el Vie, 02/02/2007 - 16:57.
Bal

Bal

Enviado por David777 (no verificado) el Vie, 02/02/2007 - 21:04.
Oh pues aki molestan

Oh pues aki molestando otra vez, solo una pregunta: le kite parte del codigo para que me mostrara 4 columnas en 2 renglones de la tabla y le puse en la uno hasta 4 y para la dos hasta 8. asi en total tendre 8 fotos acmodadas pero... he puesto solo 7 y ya me aparece el paginado siguiente y ultimo, y si le doy clik me manda a otra hojita con 3 fotos.en que estoy mal?

Enviado por David777 (no verificado) el Sáb, 02/03/2007 - 13:29.
una ayudota por ahi

una ayudota por ahi plis!

Enviado por David777 (no verificado) el Mié, 02/07/2007 - 11:30.
Que tal balu.Pues aq

Que tal balu.Pues aqui visitando tu web por este script que me recomendo un amigo. Muy buen script, felicidades.Mi duda es la siguiente:Use tu script y me muetra bien todo pero en las filas aun cuando no hay nada en la base de datos me pone una imagen que no existe (esa horrible X) y el link a la nada, lo que pasa es que en el script le puse que mostrara una imagen con su respectivo link. este es mi codigo: table cellpadding="0" cellspacing="0" bordercolor="0" bgcolor="#FEEACB" class="borde">                <tr>                  <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila1 ['code_no']; ?>"><img src="images/<?php echo $fila1 ['detalle']; ?><?php echo $fila1 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila1 ['item']; ?><br/>                    <?php echo $fila1 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>                </tr>                <br />                <br />                <tr>                                <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila2 ['code_no']; ?>"> <img src="images/<?php echo $fila2 ['detalle']; ?><?php echo $fila2 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila2 ['item']; ?><br/>                        <?php echo $fila2 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>                </tr>              </table>         No soy muy bueno en php, apenas empece en esto. Me podras ayudar a que no aparesca nada, ni imagen ni link cuando no hay en la base de datos?.Saludos

Enviado por SAiKO (no verificado) el Sáb, 02/10/2007 - 19:00.
Que tal balu.Pues aq

Que tal balu.Pues aqui visitando tu web por este script que me recomendo un amigo. Muy buen script, felicidades.Mi duda es la siguiente:Use tu script y me muetra bien todo pero en las filas aun cuando no hay nada en la base de datos me pone una imagen que no existe (esa horrible X) y el link a la nada, lo que pasa es que en el script le puse que mostrara una imagen con su respectivo link. este es mi codigo: table cellpadding="0" cellspacing="0" bordercolor="0" bgcolor="#FEEACB" class="borde">                <tr>                  <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila1 ['code_no']; ?>"><img src="images/<?php echo $fila1 ['detalle']; ?><?php echo $fila1 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila1 ['item']; ?><br/>                    <?php echo $fila1 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>                </tr>                <br />                <br />                <tr>                                <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila2 ['code_no']; ?>"> <img src="images/<?php echo $fila2 ['detalle']; ?><?php echo $fila2 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila2 ['item']; ?><br/>                        <?php echo $fila2 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>                </tr>              </table>         No soy muy bueno en php, apenas empece en esto. Me podras ayudar a que no aparesca nada, ni imagen ni link cuando no hay en la base de datos?.Saludos

Enviado por SAiKO (no verificado) el Sáb, 02/10/2007 - 19:44.
Que tal balu.Pues aq

Que tal balu.Pues aqui visitando tu web por este script que me recomendo un amigo. Muy buen script, felicidades.Mi duda es la siguiente:Use tu script y me muetra bien todo pero en las filas aun cuando no hay nada en la base de datos me pone una imagen que no existe (esa horrible X) y el link a la nada, lo que pasa es que en el script le puse que mostrara una imagen con su respectivo link. este es mi codigo: table cellpadding="0" cellspacing="0" bordercolor="0" bgcolor="#FEEACB" class="borde">                <tr>                  <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila1 ['code_no']; ?>"><img src="images/<?php echo $fila1 ['detalle']; ?><?php echo $fila1 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila1 ['item']; ?><br/>                    <?php echo $fila1 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>                </tr>                <br />                <br />                <tr>                                <?php do { ?>                  <td align="center" valign="middle" class="normal2"><a href="item_show.php?code_no=<?php echo $fila2 ['code_no']; ?>"> <img src="images/<?php echo $fila2 ['detalle']; ?><?php echo $fila2 ['image']; ?> "width="170" height="125" border="0" /><br/>                        <?php echo $fila2 ['item']; ?><br/>                        <?php echo $fila2 ['modelo']; ?></span><br />                  </a></td>                  <?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>                </tr>              </table>         No soy muy bueno en php, apenas empece en esto. Me podras ayudar a que no aparesca nada, ni imagen ni link cuando no hay en la base de datos?.Saludos

Enviado por SAiKO (no verificado) el Sáb, 02/10/2007 - 20:13.
Hola,como se podria

Hola,como se podria combinar el codigo de paginacion en columnas con el de paginacion con numeros como del tipo de google?Arriba decis que vas a poenr el codigo.Ojala me puedas ayudar

Enviado por Carlos (no verificado) el Mar, 02/20/2007 - 14:42.
Hola a todos, me res

Hola a todos, me result

Enviado por Sebastian Mu (no verificado) el Vie, 02/23/2007 - 07:24.
Hola a todos, tengo

Hola a todos, tengo un problema el codigo es excelente pero necesito mostrar debajo de cada imagen el nombre de la misma pero no se como hacerlo practicamente soy nuevo programando, si me pueden ayudar se los agradesco

Enviado por Eduardo (no verificado) el Dom, 03/18/2007 - 12:40.
Eduardo, en tu tabla

Eduardo, en tu tabla debes tener otro campo con el titulo, llamalo title_img. Luego en las consultas añade ese campo, por ejemplo fijate en el c

Enviado por Bal (no verificado) el Dom, 03/18/2007 - 16:29.
Antes que nada felic

Antes que nada felicito al creador de esta pagina,Con respecto al ejemplo de paginaci

Enviado por PEPE (no verificado) el Mié, 04/04/2007 - 10:03.
hola amigos es exele

hola amigos es exelente el script muchas felicidadestengo una duda poniendo el ejmplo en la tabla donde dice Numeros Extraidos de la Base de Datosahi quisiera poner el primer registro de cada paginacion es decir al cargar la pagina en esa celda iria el registro 1 y ya despues mostrar los demas en columnas y asi sucesivamente tiene alguna idea de como podria hacerlesaludos

Enviado por gerardo (no verificado) el Sáb, 04/07/2007 - 15:12.
Hola, necesito ayuda

Hola, necesito ayuda con esto: estoy haciendo un foro en el que los resultados de los mensajes posteados est

Enviado por web's (no verificado) el Lun, 04/16/2007 - 08:56.
Disculpas por el mis

Disculpas por el mismo mensaje 2 veces, se me escapo.

Enviado por web's (no verificado) el Lun, 04/16/2007 - 08:57.

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