php - 如何从数据库中提取具有特定日期的数据

标签 php mysql sql database datetime

我有一个包含问题数据的表格。
每个问题都有一个名为 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/

相关文章:

javascript - Smtp 连接设置错误?!地球上的 Servage.net 是如何工作的 D_; ...会让我生气 :D

php - Mysql查询有两个表php

mysql - 将 mysql 查询的结果限制为仅第一个匹配项

mysql - 如何编写查询以获取每行最后 n 个元素的总和?

sql - 如何在 Postgres sql 函数中引用命名参数?

sql - 如何获取最频繁的值SQL

php - 单张图片在 Bootstrap 响应式手机(iPhone 5)中显示颠倒

php - 小 mysql_queries 花费太多时间

mysql - 从 sql 获取当前用户和其他用户之间的最后一条消息

mysql - Mysql解释查询不一样测试与本地