php – 如何检测选择查询中的日期是否发生更改

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何检测选择查询中的日期是否发生更改脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Display MySQL results by date5个
我正在使用以下SQL查询从按日期排序的内部联接中选择行.
SELECT    *
From      clubnights 
INNER     JOIN club ON clubnights.club = club.club_ID 
WHERE     visibilITy = 0
AND       date >= CURDATE()
ORDER BY  clubnights.date ASC@H_360_3@ 
 

然后我通过PHP while循环加载我的HTML中的所有数据.

我的目标是在任何给定日期的每个部分之上回显HTML标题.

因此,当通过select查询检测到日期更改时,我希望检测(通过PHPsql).基本上,我想比较最后一个’日期’列和当前列,如果它们不匹配,我将通过PHP回显一些东西.

举个例子,假设以下是行:

2016-09-16 - Row 1 // detect 'change' here as it's the First row

2016-09-16 - Row 2

2016-09-16 - Row 3

2016-09-16 - Row 4

2016-09-16 - Row 5

2016-09-17 - Row 6 // Detect change here as date has changed

2016-09-17 - Row 7

2016-09-17 - Row 8

编辑:我正在使用MysqL

如果我理解您的要求,那么对于共享相同日期的记录组,具有最小club_ID的记录是该组中的第一个记录.在下面的答案中,我使用子查询来查找每个日期的最小club_ID.然后将此查询连接到原始查询,以确定每个日期的第一个记录.
SELECT clubnights.*,club.*,CASE WHEN t.club_ID IS NOT NULL THEN 'change' END AS date_changed
From clubnights
INNER JOIN club
    ON clubnights.club = club.club_ID
LEFT JOIN
(
    SELECT MIN(club.club_ID) AS club_ID,clubnights.date AS date
    FROM clubnights
    INNER JOIN club
        ON clubnights.club = club.club_ID
    group by clubnights.date
) t
    ON clubnights.date = t.date AND
       club.club_ID    = t.club_ID

请注意,我更喜欢这个解决方案来处理PHP表示层中的问题,因为MysqL被设计为有效地处理数据,而PHP则更少.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何检测选择查询中的日期是否发生更改全部内容,希望文章能够帮你解决php – 如何检测选择查询中的日期是否发生更改所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。