精華區beta PHP 關於我們 聯絡資訊
資料庫有個字串欄位: aaa_date (ex: 01/25/2012) 然後 使用者 會輸入一個日期: $option['date_form'] (ex: 01/10/2012) 我需要判斷 使用者輸入的日期 是否 小於 資料庫日期 小於的才呈現 $query->andWhere(" TIMESTAMPDIFF ( SECOND,aaa_date,".date('m/d/Y',strtotime($option['date_form'].' 00:00:00'))." ) <= 0 "); 但是都撈不出資料,因為 資料庫部分不能動, 所以不知道有沒有人知道 該如何修改呢? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.45.160
kerash:date('m/d/Y',strtotime($option['date_form'].' ...); 01/25 21:02
kerash:$option['date_form'] (ex: 01/10/2012) 01/25 21:02
kerash:上面兩個有差異嗎? 01/25 21:02
> -------------------------------------------------------------------------- < 作者: rexmouse4v (環島失敗.....囧) 看板: PHP 標題: Re: [請益] andWhere 塞選日期部分: 時間: Fri Jan 25 23:24:24 2013 ※ 引述《kiey (煉)》之銘言: : 資料庫有個字串欄位: aaa_date (ex: 01/25/2012) : 然後 使用者 會輸入一個日期: $option['date_form'] (ex: 01/10/2012) : 我需要判斷 使用者輸入的日期 是否 小於 資料庫日期 小於的才呈現 : $query->andWhere(" TIMESTAMPDIFF ( : SECOND,aaa_date,".date('m/d/Y',strtotime($option['date_form'].' 00:00:00'))." : ) <= 0 "); : 但是都撈不出資料,因為 資料庫部分不能動, : 所以不知道有沒有人知道 該如何修改呢? 如果是你這個時間...一定是錯的(至少我試錯的) 我用正常的格式查才有資料..也就是2012-01-10...或是2012/01/10 再來就是欄位放的位置 我自己的習慣是把INPUT放前面...TB欄位放後面 可以看成...後面比前面???? 如果TB欄位比INPUT的大...那就是要 > 0 反之就是 < 0 例如我要查API在31號後還有更新的 select * FROM api_update_time WHERE timestampdiff(minute,'2012/12/31 00:00:00',`update_time`) > 0 話說回來... 為啥不用 aaa_date > '$option['date_form']' 如果是MYSQL......FUNCTION的欄位是不能建INDEX的 因為建了也無效 一點意見...有錯請更正 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.210.69