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.

Es posible que dejes

Es posible que dejes un ejemplo con la paginación que intente hacerlo y al final me enrrede por completo.. además que es el único sistema de paginación en columnas que e encontrado .. y de verdad me a servidor bastante.. sólo me falta la paginacion xD

Enviado por Marckk_ (no verificado) el Lun, 10/03/2005 - 08:25.
Que tal Marckk_, aca

Que tal Marckk_, acabo de subir el código sql y php del ejemplo listo para que lo pruebes, están en el área de descargas. Espero te sirva, y si algo no funciona, no dudes en comentarlo. Saludos.

Enviado por Balú (no verificado) el Lun, 10/03/2005 - 12:55.
La verdad este siste

La verdad este sistema de paginado es el mejor que e encontrado, y me funciona todo sin problemas

Enviado por Marckk_ (no verificado) el Jue, 01/05/2006 - 08:53.
Hola probe este scri

Hola probe este script  y me funciono y pero si quiero que cuando no encuentre imagen en la base me ponga una imgen fija en que parte se pone el codigo y como seria el mismo. gracias

Enviado por Jose (no verificado) el Mar, 02/07/2006 - 05:47.
Hola jose, tienes va

Hola jose, tienes varias formas de hacerlo, una fácil es usando el condicional if con la variable $total_de_resultados, y lo ubicas antes de la tabla. La idea es así: <?php if ($total_de_resultados > 0) { Aquí va el codigo de la tabla y paginación; } if ($total_de_resultados < 1) { echo "Se muestra la imagen por defecto"; } ?>

Enviado por Balú (no verificado) el Mié, 02/08/2006 - 00:45.
Gracias por la respu

Gracias por la respuesta, si entiendo quedaria algo asi:<?phpif ($total_de_resultados > 0) {echo "<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> ";}if ($total_de_resultados < 1) {echo "Se muestra la imagen por defecto";}?>pero de esta forma si noy imagen me muestra lo predifinido por mi, pero si quiero que en cada fila cuando no contenga datos me ponga la imagen predifinada asi completo una X cantidad de imagen en una pagina, Ejemplo asi:<table width="329" border="1">  <tr>    <td width="84">imagen 1 </td>    <td width="79">imagen 2 </td>    <td width="84">sin imagen </td>  </tr>  <tr>    <td>sin imagen </td>    <td>sin imagen </td>    <td>sin imagen </td>  </tr>  <tr>    <td>sin imagen </td>    <td>sin imagen </td>    <td>sin imagen </td>  </tr></table>te puse el codigo de una tabla para que veas como quedaria.

Enviado por jose (no verificado) el Mié, 02/08/2006 - 13:38.
En realidad esto esc

En realidad esto escapa a la finalidad de este código, por lo que debes crear algo más de código. Aquí te doy unas luces de cómo lo puedes hacer. Básicamente consiste en lo mismo, condicionales.Reemplaza: <?php echo $fila1['imagen']; ?>Por:<?php if (stristr($fila1['imagen'],"3")){ echo $fila1['imagen'];}else {echo "no hay imagen";}?>Si pruebas el código, veras como en las dos primeras celdas de la fila superior aparece "no hay imagen", esto porque precisamos que si en la imagen se encuentra el número 3, se muestre la imagen, de lo contrario “no hay imagen”. Ahora, para ponerlo en práctica con imágenes cambia el número por ejemplo con “<img”, porque siempre que queremos mostrar imágenes escribimos ese tag, si la consulta no tiene “<img” entonces mostrará la imagen por defecto.Ahora esto aplícalo en las otras dos filas. Espero te sea de utilidad, saludos.

Enviado por Balú (no verificado) el Mié, 02/08/2006 - 15:04.
gracias por tu ayuda

gracias por tu ayuda ahora me queda mas claro como es el sistema.

Enviado por jose (no verificado) el Jue, 02/09/2006 - 10:00.
necesito saber como

necesito saber como agregar un link a algun registro que me muestre paginado para que al hacer click en ese link vaya a otro archivo.gracias 

Enviado por maxi (no verificado) el Mar, 03/14/2006 - 03:06.
ya baje el ejemplo y lo

ya baje el ejemplo y lo implemente a mi pagina.. y funciono excelente... nada mas como dice markk me hace falta la paginacion, gracias al equipo de baluart =)

Enviado por cesar_lga el Mar, 04/29/2008 - 12:08.
Cesar suscríbete a nuestro

Cesar suscríbete a nuestro newsletter, que siempre vamos publicando cosas interesantes de tecnología y desarrollo web.

Aquí les dejo otro tutorial que publicamos hace poco tiempo.

http://www.baluart.net/articulo/paginacion-perfecta-con-php

Saludos

Enviado por baluart el Mar, 04/29/2008 - 13:06.
Bueno, si sólo se tr

Bueno, si sólo se trata de agregar links, basta utilizar las etiquetas html <a>... Si te explicas mejor, seguro podré ayudarte. Saludos.

Enviado por Balú (no verificado) el Mié, 03/15/2006 - 03:29.
mi consulta es que s

mi consulta es que si se puede implementar la paginaci

Enviado por Rockero_Empedernido (no verificado) el Sáb, 10/14/2006 - 18:20.
Bueno, quiero saber

Bueno, quiero saber como inserto una imagen de cualquier tipo de extension por ejemplo jpg,gif,bmp... en una base de datos de mysql con php y despues mostrarla la imagen.  Por ejemplo si tengo una tabla de usuarios con algunos datos como el codigo,nombre,telefono, direccion y la imagen. Y otra preguntica necesito tambien un codigo en php que sea facil para realizar copia de mi base de datos y la realizacion de la restauracion de la misma esto es para mi tesis de grado con estoy realizando. Le agradezco de atemano la colaboracion prestada, Gracias... 

Enviado por carlos (no verificado) el Mar, 10/17/2006 - 15:53.
Bueno, quiero saber

Bueno, quiero saber como inserto una imagen de cualquier tipo de extension por ejemplo jpg,gif,bmp... en una base de datos de mysql con php y despues mostrarla la imagen.  Por ejemplo si tengo una tabla de usuarios con algunos datos como el codigo,nombre,telefono, direccion y la imagen. Y otra preguntica necesito tambien un codigo en php que sea facil para realizar copia de mi base de datos y la realizacion de la restauracion de la misma esto es para mi tesis de grado con estoy realizando. Le agradezco de atemano la colaboracion prestada, Gracias... 

Enviado por carlos (no verificado) el Mar, 10/17/2006 - 15:53.
Tengo un problema...

Tengo un problema.... Necesito mostrar el resultado de una busqueda, los parametros de la busqueda estan se escojen de unos list value y con esos criterios mostrar los relacionados a esos campos... lo necesito hacer con paginacion puesto que son muchos registros... de antemano Gracias

Enviado por Jonathan (no verificado) el Mar, 12/05/2006 - 15:07.
Hola Jonathan, lo re

Hola Jonathan, lo referente a la busqueda no te podr

Enviado por Bal (no verificado) el Mié, 12/06/2006 - 12:24.
Hola. Tengo un probl

Hola. Tengo un problema para mostrar la imagen que he subido. Cuando trato de visualizarla, me sale en codigo ASCII. En uno de los comentarios pusiste que se necesita poner la etiketa "

Enviado por Eric (no verificado) el Dom, 01/07/2007 - 13:07.
Hola. Tengo un probl

Hola. Tengo un problema para mostrar la imagen que he subido. Cuando trato de visualizarla, me sale en codigo ASCII. En uno de los comentarios pusiste que se necesita poner la etiketa "

Enviado por Eric (no verificado) el Dom, 01/07/2007 - 13:07.
img, pero, en donde

img, pero, en donde se coloca esa etiketa? gracias por la atencion y por este metodo. Es el mejor que he encontrado

Enviado por Eric (no verificado) el Dom, 01/07/2007 - 13:19.
img, pero, en donde

img, pero, en donde se coloca esa etiketa? gracias por la atencion y por este metodo. Es el mejor que he encontrado

Enviado por Eric (no verificado) el Dom, 01/07/2007 - 13:19.
img, pero, en donde

img, pero, en donde se coloca esa etiketa? gracias por la atencion y por este metodo. Es el mejor que he encontrado

Enviado por Eric (no verificado) el Dom, 01/07/2007 - 13:19.
hola, quisiera saber

hola, quisiera saber si tienen algun ejemplo para "Numerar filas" pero en una "paginacion" espero que se entienda...

Enviado por web's (no verificado) el Vie, 01/26/2007 - 15:59.
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.

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

Suscríbete

  • Suscribete a nuestro feed
  • Add to Google Reader or Homepage
  • Subscribe in NewsGator Online
  • Add to My AOL
  • Subscribe in Bloglines
  • Add to netvibes