我有一个包含问题数据的表格。
每个问题都有一个名为 creation_date
的行,它将问题的创建时间存储为 unix 时间戳
。
我想提取所有具有特定日期的问题,并且我不关心月份或年份。
例如:
我想提取 16
天创建的所有问题。
我做了什么:
$today = date('d');
$query = mysql_query("SELECT * FROM questions WHERE qcreation_date = '$today' ");
$numRows = mysql_num_rows($query);
if ($numRows > 0) {
while ($data = mysql_fetch_assoc($query)) {
echo $data['questionTitle']."<br/>";
}
} else {
echo "There is not any data.";
}
$today
是一个变量,将包含今天的日期,例如,如果今天是 22/2/2004
,则 $today
> 变量将包含代表今天的22
。
最佳答案
使用DAY()
和 FROM_UNIXTIME()
。 FROM_UNIXTIME()
会将您的时间戳转换为日期时间戳。 DAY()
将从中获取天数,然后您可以将其进行比较。
SELECT * FROM questions WHERE DAY(FROM_UNIXTIME(creation_date)) = '$today'
减少在此查询中使用 PHP 变量的需要的另一种方法是使用 CURDATE()
:
SELECT * FROM questions WHERE DAY(FROM_UNIXTIME(creation_date)) = DAY(CURDATE())
仅供引用,获取今天的更好方法是使用 $today = date('d')
。使用mktime()
要复杂得多。
关于php - 如何从数据库中提取具有特定日期的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21955984/