我目前正在使用三个不同的查询从数据库中输出信息。我在下面放了一个我正在做的事情的示例,我只是好奇是否有更有效的更简单的方法来吐出相同的信息。
我有一个事件数据库表,它有一个日期字段和父事件字段。我必须按日期对事件进行分组,在每个日期吐出事件,然后在这些事件下吐出每个子事件(通过使用父事件字段)。
下面是我的代码布局的示例,如果有更简单的查询等,我在 mysql 中的表现不是很好。
谢谢
$result = mysql_query("SELECT * FROM events GROUP BY date");
while ($event_date = mysql_fetch_assoc($result)) {
echo 'Date Header';
$result2 = mysql_query("SELECT * FROM events WHERE date = '" . $event_date['date'] . "' && parent_id = ''");
while ($event = mysql_fetch_assoc($result2)) {
echo 'Event display code';
$result3 = mysql_query("SELECT * FROM events WHERE date = '" . $event_date['date'] . "' && parent_id = '" . $event['id'] . "'");
while ($event = mysql_fetch_assoc($result3)) {
echo 'Sub Event code';
}
}
}
实现如下标记。
<h3>Date 1</h3>
<div class="top-level-event">
Some code
</div>
<div class="sub-level-event">
some sub level code
</div>
<div class="sub-level-event">
some sub level code
</div>
<h3>Date 2</h3>
<div class="top-level-event">
Some code
</div>
<div class="sub-level-event">
some sub level code
</div>
<div class="sub-level-event">
some sub level code
</div>