gpt4 book ai didi

php - 使用 php 和 mysql 检索当月、当周、当日的行

转载 作者:行者123 更新时间:2023-11-30 00:18:58 25 4
gpt4 key购买 nike

我有一个 mysql 表 events,其列为 event_date varchar(10),它以 7-5-2014 的形式接收日期。

我有一个对象可以给我:

// displays current month (5)
$m = $time->getMonth();
echo $m;

//displays current day (1)
$d = $time->getDay();
echo $d;

// displays current year (2014)
$y = $time->getYear();
echo $y;

我正在尝试找出一种方法来获取当天、月份和年份内的事件。

下面的 php 查询是错误的,但它为您提供了我想要做什么的想法:

$eventsWithinDay = query("SELECT * FROM events WHERE LEFT(event_date, 2)='%s'", $d);

我怎样才能正确地做到这一点?更好的是,最有效的方法是什么?

我可以对数据库或 php 进行任何必要的更改。

提前致谢。

最佳答案

您可以通过多种方式做到这一点。例如:

SELECT smth FROM somewhere WHERE datefield LIKE '2014-05-%'

或者

SELECT smth FROM somewhere WHERE datefield >= $start_interval and date <= $end_interval

在后一种情况下,您会将日期存储在 BIGINT 列中,并使用 php 的 time() 来设置其值。然后使用 PHP 的时间函数(如 strtotime('-1 day'))获取您想要查询的日期的时间戳。所以一个简单的例子是:

$q = "SELECT ... WHERE datefield >= " . strtotime('-2 days') // this would search for dates from at least 2 days ago

您还可以使用 MYSQL 的内置日期时间函数,但我没有这些经验,所以我不会就我自己不了解的事情提供建议:)

关于php - 使用 php 和 mysql 检索当月、当周、当日的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23406440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com