Da dine resultater allerede er sorteret efter dato, kan du bare gemme den forrige dato i en variabel og oprette en ny tabel, hver gang denne ændres.
$olddate = '';
while($row = mysql_fetch_array($result))
{
$fdate = date('M jS, Y l', strtotime($row['date']));
if ( $olddate != $fdate ) { // date has changed:
// end the previous table (if it exists)
if ( $olddate != '' ) {
echo "</table>"
}
// start the new table. Do something with $fdate here if you like
echo "
<h3>$fdate</h3>
<table border='1'>
<tr class='top'>
...
</tr>";
}
// print a row as before.
echo "<tr>";
....
}
// end the last table
echo "</table>";
Grundlæggende er det eneste, der har ændret sig, at $fdate
er også gemt i $olddate
. Når vi behandler en ny række, hvis datoen er ændret (dvs. $olddate != $fdate
), opretter vi en ny tabel.
For hver række i mysql-resultatet genererer vi stadig en tabelrække som før (du ønsker måske at foretage nogle ændringer som f.eks. ikke at inkludere kolonnen Dato mere).