我会尽力解释:
我正在从mysql数据库中检索要输出到php页面的记录。
结果需要按天分组,还需要分页。
示例:
8月24日
- 结果1(例如标题、描述、图片)
- 结果2(例如标题、描述、图片)
- 结果3(例如标题、描述、图片)
8月23日
- 结果1(例如标题、描述、图片)
- 结果2(例如标题、描述、图片)
- 结果3(例如标题、描述、图片)
分页:[1][2][3][4]
上述示例仅用于说明,因为每页上都有4天的结果。我知道,在最初的页面之后,每个页面都需要通过在页面上发布一个参数来抵消4天。
然而,我不知道按天显示结果的逻辑。
我知道需要一个while或foreach循环,并且可能需要一个循环中的一个循环来获得每天的所有结果。
我已经在网上搜索了一段时间,似乎找不到任何关于如何做到这一点的例子或指导
我不想把代码灌输给我,只想知道如何处理这种情况的逻辑。
如果有人能帮忙,我将不胜感激。
谢谢。
在简单的数据库查询(记住,您需要从字面上进行LIMIT以允许分页)之后,您可以通过在每个循环中检查是否是新的一天来将数组分成几天。
$lastday = null;
while($entry = mysqli_fetch_assoc($result)) {
if($lastday != $entry['day']) {
$lastday = $entry['day'];
echo '<h3>' . $lastday . '</h3>';
}
// echo the entry result (title, description, picture)
}
您可能需要调整lastday和entry['day']参数,以反映您使用的任何日期格式(可以是mysql、unix或字符串)。此外,我使用了3级标题作为示例,但您应该选择符合您的上下文逻辑的标题。