Foros del Web » Programando para Internet » PHP »

Organizar Resultados de Query en filas y columnas con PHP MYSQL

Estas en el tema de Organizar Resultados de Query en filas y columnas con PHP MYSQL en el foro de PHP en Foros del Web. Buenas...espero no molestarlos con esta consulta, pero a pesar de estar tanto tiempo con esto del PHP y demas no se me ocurre como organizar ...
  #1 (permalink)  
Antiguo 10/10/2012, 14:25
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Organizar Resultados de Query en filas y columnas con PHP MYSQL

Buenas...espero no molestarlos con esta consulta, pero a pesar de estar tanto tiempo con esto del PHP y demas no se me ocurre como organizar resultados de una query en filas y columnas...

Supongamos que quiero traer 16 productos de la BD y mostarlos en 4 filas de 4 columnas, y cada fila habra 4 productos... la query para traer me la se.. pero no se me ocurre como ordenar las mismas en filas y columnas en DIV y demas...

Una iluminacion por favor..

Gracias amigos foreros
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #2 (permalink)  
Antiguo 10/10/2012, 14:50
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 506
Antigüedad: 22 años, 3 meses
Puntos: 6
Respuesta: Organizar Resultados de Query en filas y columnas con PHP MYSQL

Creo que te entiendo... (Espero)

Mi método es:
1. Generas el QUERY mysql de lo que quieres mostrar.

2. Creas la "cabeza" de la tabla <table> o el div Wrapper o el que englobe todo SIN cerrar (si utilizas div recuerda crear otro div inmediatamente que tenga las cabeceras como "Título de producto, Número, etc, etc")

3. Creas un While donde puedas arrojar el resultado de tu Query con tr y tds si es table o un 4 divs con sus respectivos floats.

4. Cierras tu While y después cierras el Div Wrapper o tabla.

5. Cierras conexión mysql y sales.

Espero haberme explicado.

A mi en lo personal me ayuda mucho utilizar jquery pero eso ya es cuestión de cada uno:

http://tablesorter.com/docs/example-...sort-list.html

Saludos!
__________________
I do techy stuff for a living and practice MMA with my dog... He always wins.
  #3 (permalink)  
Antiguo 11/10/2012, 05:52
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Organizar Resultados de Query en filas y columnas con PHP MYSQL

Entendi.. gracias por la mano, en las FAQ's existe algo parecido, lo modifique un poco nada mas... lo que no tiene es paginador, pero eso se como hacerlo... a quien le sirva, le dejo mi codigo.. aunque deberán ajustarlo a sus etiquetas HTML y las clases CSS.. en mi caso es un librero gigante que contiene libros, y cada estante contiene de nuevo sub-divs o div hijos donde se muestran los libros.. les dejo el CSS y los demas codigos así para los que necesiten puedan quitarle provecho... ojo, que los Background no los incluyo..


Código CSS:
Ver original
  1. #librero{
  2.     width:810px;
  3.     height:auto;
  4.     padding-left:10px;
  5.     overflow:auto;
  6.     background-image:url(../img/back-librero.jpg);
  7.     background-repeat:no-repeat;
  8.     float:left;
  9.     padding-top:50px;
  10. }
  11.  
  12. .estantes{
  13.     width:799px;
  14.     height:213px;
  15.     background-image:url(../img/estantes.png);
  16.     background-repeat:no-repeat;
  17.     padding-top:15px;
  18.     clear:both;
  19.    
  20. }
  21.  
  22. .libros{
  23.     width:160px;
  24.     float:left;
  25. }


Aqui el HTML con los PHP embebidos


Código PHP:

<?php
include("co/connect.php");

?>
<div id="librero">
                
            <?php
                
                $sql
"SELECT id, nombre, imagen FROM materiales WHERE destacado=1 ORDER BY id DESC LIMIT 16";
                
$query mysql_query($sql$conn) or die ("No se puede realizar la consulta porque".mysql_error());
                
                
 
                
$columnes 4# Número de columnas que quiero traer
                 
                                 //aca muestro cuantos registros se encontraron, en este caso esta limitado por la QUERY con el LIMIT 16

                
if (($rows=mysql_num_rows($query))==0) {
                  echo 
"<span>No hay resultados en la BD.</span> ";
                } else {
                  echo 
"<span>$rows Resultados </span>";
                }

                                
//aca armo las filas y columnas
                 
                
for ($i=1$row mysql_fetch_array ($query); $i++) 
                {
                    
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos
                    
if ($resto == 1
                    {
                        echo 
"<div class='estantes'>";
                    } 
# Si es la primera celda, abrimos <tr>
                    
                    
echo "<div class='libros'> <img src='img/productos/".$row['imagen']."' width='160' /></div>"
                    
                    if (
$resto == 0
                    {
                        echo 
"</div>";
                    } 
# Si es la última celda, cerramos </tr>
                
}
                
                
                if (
$resto <> 0
                { 
# Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
                    
$ajust $columnes $resto# Número de huecos necesarios
                    
for ($j 0$j $ajust$j++) 
                    {
                        echo 
"<div class='libros'>&nbsp;</div>";
                    }
                    
                }
                
mysql_close($conn);
                
                
                
            
?>
            
                    
                
</div>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: columnas, filas, mysql, organizar, query, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.