-1

我在 Mysql 中有一个称为发票的数据库表,如下所示

id(id)
store_name(varchar)
description(text)
created_at(DATETIME)

现在我的数据库表中有多个创建日期不同的发票。现在我想显示今天创建的所有发票。所以有人可以告诉我如何做到这一点

$recentinvoice = mysql_query(
    "select * from tbl_invoices WHERE create_at = CURDATE()"
);

while($invoices=mysql_fetch_array($recentinvoice)) {
    echo $invoices['store_name'];
    echo $invoices['description'];
    echo $invoices['name'];
    echo $invoices['created_at'];
}

但它没有显示任何东西。因此,你们所有人的任何帮助和建议都将是非常可观的。谢谢

4

5 回答 5

0

在你的WHERE

SELECT * FROM tbl_invoices WHERE create_at >= CURDATE()
于 2013-08-01T09:32:12.053 回答
0

试试这个,请让我知道它是否有效。

SELECT * 
FROM tbl_invoices 
WHERE DATE(created_at) = DATE(NOW());
  • DATE() 返回没有时间的日期
  • NOW() 返回当前日期和时间(注意我们在这个查询中使用了 DATE() 函数来删除时间)
于 2013-08-01T09:35:58.337 回答
0
select * from tbl_invoices WHERE create_at = now() 
于 2013-08-01T09:37:12.923 回答
0

你可以试试 :-

select * from tbl_invoices WHERE date_format(create_at,'%Y-%m-%d')=CURDATE();

还建议在数据库中查找日期格式并根据您必须进行比较。阅读有关date_format()的更多信息。

尝试使双方的日期格式相同。

希望它会帮助你。

于 2013-08-01T09:40:02.093 回答
0

最好将当前日期分配给变量,然后将其传递给 sql where 条件。

$today = date("Y-m-d");
$recentinvoice=mysql_query("select * from tbl_invoices WHERE create_at = '$today' ");  

试试看嘛。谢谢

于 2013-08-01T09:45:01.367 回答