仅在今天的日期获得结果

时间:2013-12-22 18:28:26

标签: php datetime

我想从我的数据库中获取一些日期仅为今天的条目,这是我的工作代码,它可以获取所有数据;

$result = mysql_query("SELECT *FROM products") or die(mysql_error());

 // check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["products"] = array();

while ($row = mysql_fetch_array($result)) {


 // temp user array
    $product = array();
    $product["pid"] = $row["pid"];
    $product["name"] = $row["name"];
    $product["price"] = $row["price"];
    $product["description"] = $row["description"];
    $product["created_at"] = $row["created_at"];
    $product["updated_at"] = $row["updated_at"];


    // push single product into final response array
    array_push($response["products"], $product);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);
}

同时允许用户选择日期并仅显示在该日期创建的数据。

该字段是;

name created_at

输入时间戳
null否
默认CURRENT_TIMESTAMP

1 个答案:

答案 0 :(得分:1)

在Mysql查询中,您可以使用DATE()来删除时间戳的时间,如下所示:

SELECT * FROM products WHERE DATE(created_at) = '<date>';

即。这可以实现为

$result = mysql_query("SELECT * FROM products WHERE DATE(created_at) = '".date("Y\-m\-d")."'") or die(mysql_error());

或者如果您将$ inputdate设置为用户指定的日期。

$result = mysql_query("SELECT * FROM products WHERE DATE(created_at) = '".$inputdate->format("Y\-m\-d\")."'") or die(mysql_error());