我在MYSQL数据库中有一个日期和约会表。
我想将这些内容打印到一个文件中,每个约会的日期我想将它们分组。
e.g
<h1>Appontments on 28/01/11<h1>
<p>10am Visit mum</p>
<p>12pm eat cake</p>
我的表的格式是ID(int),日期(DATE),时间(TIME),描述(varchar),Place(varchar)
最好的解决方法是,我正在考虑使用一个循环来查找所有日期,然后在该循环中使用另一个循环来查找每个日期的所有约会。有更有效的方法吗?
感谢您的时间,并原谅我对此问题的错误解释。
答案 0 :(得分:3)
这样的事情就像我知道如何做到最佳(假设你在内存中有空间,这显然不应该是一个问题):
$query = "SELECT * FROM appointments GROUP BY `date`";
// Because of the algorithm used to sort dates below, you don't even really
// need the GROUP BY. But what the heck, right?
$result = mysqli_query($mysql, $query);
$appointments = array();
while ($row = mysqli_fetch_assoc($result))
{
if (!isset($appointments[$row['date']]))
{
$appointments[$row['date']] = array();
}
$appointments[$row['date']] []= $row;
}
foreach ($appointments as $date => $items)
{
echo "<h1>{$date}</h1>";
echo "<ul>";
foreach ($items as $item)
{
echo "<li>{$item['Dime']}: {$item['Description']} " .
"@ {$item['Place']}</li>";
}
echo "</ul>";
}