0

我会尽力解释:

我正在从 mysql 数据库中检索要输出到 php 页面的记录。

结果需要按天分组,也需要分页。

例子:

8月24日

  • 结果 1(例如标题、描述、图片)
  • 结果 2(例如标题、描述、图片)
  • 结果 3(例如标题、描述、图片)

8月23日

  • 结果 1(例如标题、描述、图片)
  • 结果 2(例如标题、描述、图片)
  • 结果 3(例如标题、描述、图片)

分页: [1][2][3][4]

上面的示例仅用于说明目的,因为每页上会有4 天的结果。我知道,在初始页面之后,每个页面都需要通过向页面发布参数来偏移 4 天。

但是我无法弄清楚按天显示结果的逻辑。

我知道需要一个 while 或 foreach 循环,并且可能需要一个循环内的循环来获取每天的所有结果。

我已经在网上搜索了一段时间,似乎找不到任何关于如何这样做的示例或指导。

我不想把代码勺子喂给我,只是想知道如何处理这种情况的逻辑。

如果有人可以提供帮助,我将不胜感激。

谢谢。

4

1 回答 1

0

在简单的数据库查询之后(记住,您需要 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 级标题为例,但您应该选择符合您的上下文逻辑的任何内容。

于 2013-08-24T17:27:07.440 回答