Re: [請益] PHP日期查詢
※ 引述《s5846125 (陸奧鬼一)》之銘言:
: ※ 引述《roger70349 (roger70349)》之銘言:
: : 請問各位大大,當sql查詢日期時,是不是使用DATEDIFF這個函數,我把部份的程式貼出來
: : 請各位幫我看看,為何日期無法查詢,謝謝。
: : $ListQuery="SELECT * FROM info WHERE 1=1";
: : if($D1 !=""){
: : $Condition =$Condition." AND Status ='$D1'";
: : }
: : if($searchNO !=""){
: : $Condition =$Condition." AND PersonalNO ='$searchNO'";
: : }
: : if($StartDate !=""){
: : $Condition =$Condition." AND DATEDIFF(".$StartDate.",CreateDate)>=0";
: : }
: : if($EndDate !=""){
: : $Condition =$Condition." AND DATEDIFF(".$EndDate.",CreateDate)<=0";
: : }
: : $ListQuery=$ListQuery.$Condition." ORDER BY CreateDate DESC";
: : 是要查詢 StartDate 跟EndDate這兩個欄位,謝謝。
: 如果是用 mysql,是有 datediff() 可以用,
: mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
: -> 1
: mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
: -> -31
: 1.你有列印 $ListQuery 出來看過,確定 sql 語法是正確的嗎?
: 2.if ($StartDate){} 跟 if ($EndDate){} 那裡的邏輯好像有問題。
: 如果 $StartDate = 12/10
: $EndDAte = 12/20
: Create 要比 $StartDate 小,又要比 $EndDate 大?
: 3.如果用 $StartDate >= CreateDate 這樣的語法,會不會比較簡單?
那是不是就變成
if($StartDate !=""){
: : $Condition =$Condition." AND DATEDIFF(".$StartDate.",CreateDate)
>=CreateDate
}
if($EndDate !=""){
: : $Condition =$Condition." AND DATEDIFF(".$EndDate.",CreateDate)
<=CreateDate
}
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.144.98
→
12/25 11:53, , 1F
12/25 11:53, 1F
→
12/25 11:54, , 2F
12/25 11:54, 2F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章