Mostrar Resultados Horizontalmente y Paginados con PHP y MySQL

baluart21 Julio 2005 - 12:00pm 71 comentarios
Enviar por Email Imprimir

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:

<?php
$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 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.

Comentarios

Imagen de gerardo
gerardo

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

Imagen de web&#039;s
web's

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

Imagen de web&#039;s
web's

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

Imagen de bal

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

Imagen de bal

Gerardo y chicos, suscr

Imagen de web&#039;s
web's

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

Imagen de carrera
carrera

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

Imagen de web&#039;s
web's

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

Imagen de Suzy
Suzy

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

Imagen de Gabi
Gabi

Hola Bal

Imagen de Gabi
Gabi

Hola Bal

Páginas

Tutoriales

Cómo descargar videos de VK.com
En este artículo voy a explicar como descargar videos y películas...
Descargar Facebook Móvil Gratis
Por si aún no lo han hecho, es posible descargar Facebook Móvil...
Cómo generar tráfico web con las redes sociales - Paso a Paso
Muchas empresas están publicando contenidos como la forma de crear...

Artículo Recomendado

3 Tips cruciales para recuperar archivos eliminados
¿Te imaginas perder el trabajo de toda una semana en tan solo unos segundos? Todos hemos pasado por este problema. Quizás eliminamos por error un archivo importante o lo borramos sin pensar que era valioso para otro... más