Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/10/2012, 05:52
Avatar de loncho_rojas
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...