PHP日期依赖分页

时间:2009-02-18 15:58:34

标签: php sql html pagination paging

我有一个站点,它在sql数据库中存储了一堆记录,我希望根据日期将其拉到页面上,该日期在sql中存储为Y-m-d。但是,我想基于日期对结果进行分页。

因此,对于索引,我想显示当天的所有结果,我将使用php date()函数作为我的QUERY中的WHERE。但是我在分页时遇到了麻烦。我想在底部有一个带有get的下一页的按钮,所以index.php?page = 2将是明天,但我无法弄清楚如何从我的WHERE数据库中可靠地选择“明天”。 / p>

请参阅,我将使用日期(“U”)来获取第一页上第一天的unix时间,然后只需添加3600 * $ _ GET ['page']来增加日期下一页,但这似乎是一种草率的方式,可能会搞砸我。这是唯一的方式,还是有更好,更实用的解决方案 - 非常感谢你们,我很感激。

3 个答案:

答案 0 :(得分:1)

如果第2页是明天,那么你将会看到这样的事情:

$days_ahead = $page - 1;
$query = "... WHERE date = DATE(NOW()) + INTERVAL $days_ahead DAY ...";

请注意,这也适用于第一页(假设$ page默认为1),它会在今天的日期添加0天。

答案 1 :(得分:0)

您尝试使用strtotime:

$sqldate = date('Y-m-d', strtotime('+2 days'));

答案 2 :(得分:0)

这就是我设法为我的网站修复它的方法

//'page' is a GET variable from url
if($page<=1) {
  $datemax = time();
  $datemin = time() - (1 * 2592000); //2592000 being seconds in a month
}
else{
  $datemax = time() - (($page - 1) * 2592000);
  $datemin = time() - ($page * 2592000);
}

然后显然查询看起来像

SELECT * FROM posts WHERE dateposted >=$datemin AND dateposted <=$datemax