Comunidad de diseño web y desarrollo en internet online

Agrupar elementos

Citar            
MensajeEscrito el 19 Nov 2011 11:49 pm
Buenas tardes a todos los usuarios.

Mi duda es la siguiente:

Como Puedo agrupar elementos de algo en particular. Tengo una tabla de productos en la cual una imagen se repite pero tiene varias descripciones o modelos. Lo que necesito es que la imagen no se repita y muestre una lista de las descripciones de cada imagen.

imagen1 - 123
imagen2 - 125
imagen3 - 120
imagen1 - 130
imagen2 - 120
imagen3 - 150

El resultado que necesito seria:
imagen1
123
130

imagen2
125
120

imagen3
120
150

De ane mano muchas gracias usuarios de CristaLab

Por ceojerry1

5 de clabLevel



Genero:Masculino  

CEO Web Master

firefox
Citar            
MensajeEscrito el 20 Nov 2011 03:49 pm
Pon el código que estas usando para obtener esos datos.

Por josueochoa

8 de clabLevel



Genero:Masculino  

Desarrollador web

chrome
Citar            
MensajeEscrito el 22 Nov 2011 02:14 pm
<?php
$imagenes = "SELECT * FROM articulos GROUP BY imagen";
$resultado = mysql_query($imagenes);
while($row = mysql_fetch_array($resultado)) {
?>
<tr>
<td><?php echo $row['articulo']; ?></td>
<td><?php echo $row['longitud']; ?></td>
<td><?php echo $row['altura']; ?></td>
<td><?php echo $row['acabado']; ?></td>
</tr>
<?php } ?>

El unico resultado que obtengo es que me muestre la imagen pero solo un elemento de ella

Por ceojerry1

5 de clabLevel



Genero:Masculino  

CEO Web Master

firefox
Citar            
MensajeEscrito el 22 Nov 2011 02:32 pm
Mmmm, intenta no usar tablas.

Por josueochoa

8 de clabLevel



Genero:Masculino  

Desarrollador web

chrome
Citar            
MensajeEscrito el 22 Nov 2011 02:38 pm
Si no es mucho pedir podrias darme un ejemplo.

Gracias

Por ceojerry1

5 de clabLevel



Genero:Masculino  

CEO Web Master

firefox
Citar            
MensajeEscrito el 22 Nov 2011 02:59 pm
<ul>
<?php
$imagenes = "SELECT * FROM articulos GROUP BY imagen";
$resultado = mysql_query($imagenes);
while($row = mysql_fetch_array($resultado)) {
?>
<li><?php echo $row['articulo']; ?>
<?php echo $row['longitud']; ?>
<?php echo $row['altura']; ?>
<?php echo $row['acabado']; ?>
</li>
<?php } ?>
</ul>

prueba que te sale asi.

Por josueochoa

8 de clabLevel



Genero:Masculino  

Desarrollador web

chrome
Citar            
MensajeEscrito el 22 Nov 2011 04:44 pm
Con "GROUP BY" no haces que se ordenen de la forma que quieres, sino que debes usar "ORDER BY `imagen`".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 22 Nov 2011 05:17 pm
Avanzamos un poco ya que al usar un ORDER By imagen solo hara que me ordene los datos por imagen pero repetira la imagen.

Ahora solo falta que muestre una imagen y repita la info de cada una de ellas

Gracias por todo!

Por ceojerry1

5 de clabLevel



Genero:Masculino  

CEO Web Master

firefox
Citar            
MensajeEscrito el 23 Nov 2011 12:31 pm
El campo imagen lo va a repetir siempre ya que es parte de la consulta generada pero eso no es un problema porque tú en el código PHP puedes hacer que se muestr una sola vez haciendo algo como esto:

Código PHP :

$imagen = "";
while ($fila = mysql_fetch_assoc($resultado)) {
  if ($fila['imagen'] != $imagen) {
    echo "<br />".$fila['imagen']."<br />";
    $imagen = $fila['imagen'];
  }
  echo $fila['descripcion']."<br />";
}

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.