按天分组mysql结果并使用分页回显到php页面

时间:2013-08-24 17:03:12

标签: php mysql loops

我会尽力解释:

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

结果需要按日分组,并且还有分页。

示例:

8月24日

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

8月23日

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

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

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

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

我知道需要一段时间或一个foreach循环,并且可能在循环中循环以获得每天的所有结果。

我一直在网上搜索一段时间,似乎找不到任何关于如何做的例子或指导。

我不希望代码勺给我,只是如何处理这种情况的逻辑。

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

感谢。

1 个答案:

答案 0 :(得分: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级标题作为示例,但您应该选择适合您上下文的任何内容。