如何使用PHP从MySQL中选择具有特定时间范围的记录?

时间:2011-04-03 16:50:43

标签: php mysql sql

如果使用PHP,如果每条记录在时间戳中都有创建时间,那么如何使用PHP创建一段时间内创建的记录?

4 个答案:

答案 0 :(得分:8)

您执行类似于以下的查询:

SELECT *
FROM table
WHERE creation_time BETWEEN '2011-01-01 00:00:00' AND '2011-03-01 00:00:00'

此处将选择2011年1月1日至2011年3月1日期间创建时间的所有条目。

答案 1 :(得分:5)

首先,您需要连接到数据库,然后针对要从中获取数据的特定表运行查询,

<?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }

    $result = mysql_query("SELECT * FROM `table` WHERE `date_field` BETWEEN 'date1' AND 'date2'");
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }

    while($row = mysql_fetch_row($result)){
        echo $row[0].','.$row[1]...
    }

    mysql_close($link);
?>

您可以在 - link

找到更多信息

答案 2 :(得分:1)

你可以这样做:

SELECT fields.... 
FROM tables
WHERE dates BETWEEN 'date1' AND 'date2';

答案 3 :(得分:1)

你可以这样做:

$valid = strtotime('-7 days'); //define your valid time

然后只需用它来选择

"SELECT ******* WHERE time > $valid";

但那就是我。我不喜欢直接在SQL中使用日期。也许你也不喜欢(: