Comunidad de diseño web y desarrollo en internet online

Mostrar registros agrupados por columna

Citar            
MensajeEscrito el 26 Feb 2015 11:20 pm
Hola a todos.
Tengo una tabla llamada ESTRENOS con solo 3 columnas: ID, FECHA y TITULO. Me gustaría mostrar los registros agrupados por el campo fecha.

La tabla sería algo como esto:

ID -------- FECHA --------- TITULO
1 ------ 01/01/2015 ------ titulo 1
2 ------ 01/01/2015 ------ titulo 2
3 ------ 02/02/2015 ------ titulo 3
4 ------ 02/02/2015 ------ titulo 4
5 ------ 03/03/2015 ------ titulo 5
6 ------ 03/03/2015 ------ titulo 6

Y así es como quisiera mostrarlo:

01/01/2015
titulo 1
titulo 2

02/02/2015
titulo 3
titulo 4

03/03/2015
titulo 5
titulo 6

He usado el GROUP BY pero solo me muestra un titulo por cada fecha:

01/01/2015
titulo 1

02/02/2015
titulo 3

03/03/2015
titulo 5

Espero que alguien pueda ayudarme. Gracias de antemano.

Por anton1o1982

5 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 27 Feb 2015 02:11 pm
Pues es nada más que ordenar por el campo fecha. O sea "ORDER BY `FECHA` ASC".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Feb 2015 04:57 pm
No. Eso no es lo que yo quiero. Quiero que en el campo fecha, las fechas que se repiten solo aparezcan una vez y a continuación los títulos que se corresponden con dicha fecha.

Por anton1o1982

5 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 27 Feb 2015 06:39 pm
Con MySQL no lo puedes hacer, con PHP deberías hacerlo. Es fácil:
Estableces una variable $fecha a nulo.
Comienzas el ciclo de lectura del resultado de la consulta.
Preguntas si el campo fecha es igual a la variable $fecha. Si es distinta imprimes la fecha y copias el campo fecha a la variable $fecha. Si es la misma, imprimes un espacio en blanco.
Lees el siguiente registro.
Repites esto hasta el final de la consulta.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Feb 2015 11:56 pm
No me ha salido. Supongo que algo he hecho mal. Aún soy novato en esto. Te pongo el código que he hecho a ver que he hecho mal.

Código PHP :

$fecha = null;

if($fecha == $row['fecha']){
echo "";
}
else{
echo $row['fecha'];
echo "</br>";
echo $row['titulo'];
echo "</br>";
}
$fecha = $row['fecha'];
}

Por anton1o1982

5 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 02 Mar 2015 12:32 pm
Pues por poco :)


Código PHP :

$fecha = null;

if($fecha == $row['fecha']){
echo "";
}
else{
$fecha = $row['fecha'];
echo $row['fecha'];
echo "</br>";
echo $row['titulo'];
echo "</br>";
}

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Mar 2015 02:04 pm
Pues sigue sin salirme. Lo he hecho tal cual me has dicho y nada.
Te pongo el código completo a ver.

Código PHP :

// Realizar la consulta a la base de datos
$resultados = mysql_query("SELECT * FROM estrenos ORDER BY fecha ASC", $conexion);
   
if(!$resultados){
die("Hubo un error al generar la consulta" . mysql_error());
}
   
// Usar la data retornada:
while($row=mysql_fetch_array($resultados)){
$fecha = null;
                  
if($fecha == $row['fecha']){
echo "";
}
else{
$fecha = $row['fecha'];
echo $row['fecha'];
echo "</br>";
echo $row['titulo'];
echo "</br>";
}
}

Por anton1o1982

5 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 02 Mar 2015 04:12 pm
Pues no me estás mostrando el resultado, solo el código. Me parece que hay más de lo que nos estás mostrando.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

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