だから私はPHPからこのクエリを実行しています。ここでは、正確なクエリ文字列をリストで示しています。
SELECT * FROM `pdem_timesheet`.`tblMasterTimesheets` WHERE
`pdem_timesheet`.`tblMasterTimesheets`.`username` = 'pdem' AND
`pdem_timesheet`.`tblMasterTimesheets`.`date` >= '2012-05-09' AND
`pdem_timesheet`.`tblMasterTimesheets`.`date` <= '2012-05-15' ORDER BY
`pdem_timesheet`.`tblMasterTimesheets`.`date` ASC
それは私には正しいはずです(多かれ少なかれ、私が使用した以前のコードからコピーして動作します)。しかし、クエリを実行すると、結果は空です。
クエリを日付範囲ではなく、1 日だけに変更すると、次のようになります。
SELECT * FROM .... WHERE ...`date` = '2012-06-12' ....
それは問題なく動作し、本来あるべき結果を 1 つ返します。
between キーワードを使用してみました:
SELECT * FROM ... WHERE ...`date` BETWEEN [start] [end]
しかし、それでも何も返されません...
このクエリを取得して結果を返す方法はありますか?
===答え===
あなたが行くとき:
var curr_date = now.getDate();
var curr_month = now.getMonth();
var curr_year = now.getFullYear();
何らかの理由で月 - 1 を返します。したがって、今の月が 6 の場合、now.getMonth() は 5 を返します...クエリに 1 を追加するだけです (これをもっと早く見たかった)