Records groeperen naar datum
Ik zit met een probleempje. Ik weet niet hoe ik de records uit mijn datum kan groeperen naar datum. Ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = 'SELECT id,naam, datum
FROM afmelden';
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row['naam']. " - ". showdatum($row['datum']);
echo "<br />";
}
?>
$sql = 'SELECT id,naam, datum
FROM afmelden';
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row['naam']. " - ". showdatum($row['datum']);
echo "<br />";
}
?>
wat dit als output geeft:
Quote:
robin - dinsdag, 20 oktober 2009
sebas - dinsdag, 13 oktober 2009
sebas - donderdag, 15 oktober 2009
sebas - dinsdag, 20 oktober 2009
sebas - donderdag, 22 oktober 2009
sebas - dinsdag, 13 oktober 2009
sebas - donderdag, 15 oktober 2009
sebas - dinsdag, 20 oktober 2009
sebas - donderdag, 22 oktober 2009
Maar ik zou graag willen dat het als volgt wordt:
Quote:
Dinsdag, 20 oktober 2009 - Robin, Sebas
Dinsdag, 13 oktober 2009 - Sebas
etc..
Dinsdag, 13 oktober 2009 - Sebas
etc..
Enig idee hoe ik dit het best kan aanpakken?
Alvast bedankt.
Robin
Gewijzigd op 01/01/1970 01:00:00 door Robin
$sql = 'SELECT id,naam, datum
FROM afmelden ORDER BY datum ASC';
De asc staat hierbij voor ascending (oplopend) mocht je andersom willen sorteren gebruik dan Desc (decending, aflopend)
Voor de weergave moet je gewoon het weergeven van naam en datum omdraaien in de echo.
Je slaat die datum toch wel in een date format op?
EDIT: op de manier van Ralph order ik hem alleen maar, ik wil ze echt per datum hebben, dus per datum 1 regel.
Gewijzigd op 01/01/1970 01:00:00 door Robin
Dat kun je dan toch in php aan elkaar knopen? Anders wil je dus rijen van verschillende lengtes terug krijgen, dat wordt wel heel lastig voor je database.
Alvast bedankt,
Robin
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$sql = "
SELECT id, naam, datum
FROM afmelden
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
$oude_datum = null;
$nieuwe_datum = null;
while ($row = mysql_fetch_assoc ($res)) {
$nieuwe_datum = strftime ('%F', $row['datum']);
if ($nieuwe_datum != $oude_datum) {
$oude_datum = $nieuwe_datum;
echo '<p>' . $nieuwe_datum . '</p>';
}
echo '<p>' . $row['naam'] . '</p>';
}
}
?>
$sql = "
SELECT id, naam, datum
FROM afmelden
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
$oude_datum = null;
$nieuwe_datum = null;
while ($row = mysql_fetch_assoc ($res)) {
$nieuwe_datum = strftime ('%F', $row['datum']);
if ($nieuwe_datum != $oude_datum) {
$oude_datum = $nieuwe_datum;
echo '<p>' . $nieuwe_datum . '</p>';
}
echo '<p>' . $row['naam'] . '</p>';
}
}
?>
Geweldig! Works like a charm. Heel erg bedankt!
Graag gedaan :-)