-1

このようにMysqlでinvoiceと呼ばれるデータベーステーブルがあります

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

あなたが試すことができます :-

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

また、データベース内の日付の形式を見つけて、それに従って比較することをお勧めします。 date_format()の詳細を読んでください。

両面の日付形式を同じにするようにしてください。

それがあなたを助けることを願っています。

于 2013-08-01T09:40:02.093 に答える
0

これを試してみてください。うまくいくかどうか教えてください。

SELECT * 
FROM tbl_invoices 
WHERE DATE(created_at) = DATE(NOW());
  • DATE() は時刻なしで日付を返します
  • NOW() は現在の日付と時刻を返します (このクエリでは DATE() 関数を使用して時刻を削除していることに注意してください)
于 2013-08-01T09:35:58.337 に答える
0

あなたの中でこれを使用してくださいWHERE

SELECT * FROM tbl_invoices WHERE create_at >= CURDATE()
于 2013-08-01T09:32:12.053 に答える
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 に答える
0
select * from tbl_invoices WHERE create_at = now() 
于 2013-08-01T09:37:12.923 に答える