Vì kết quả của bạn đã được sắp xếp theo ngày, bạn chỉ có thể lưu trữ ngày trước đó trong một biến và tạo một bảng mới mỗi khi điều này thay đổi.
$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>";
Về cơ bản, điều duy nhất đã thay đổi là $fdate
cũng được lưu trữ trong $olddate
. Khi chúng tôi xử lý một hàng mới, nếu ngày đã thay đổi (tức là $olddate != $fdate
), chúng tôi tạo một bảng mới.
Đối với mỗi hàng trong kết quả mysql, chúng tôi vẫn tạo một hàng bảng như trước (bạn có thể muốn thực hiện một số thay đổi như không bao gồm cột Ngày nữa).