2017-11-13 4 views
-1

1日以上経過してもデータを見ることができないプログラムを開発するので、TODAYデータ、TOMORROWデータ、YESTERDAYデータしか見ることができません。strtotime/array内のAND構文

私の配列とstrtotimeの中で/または構文を使用しようとしましたが、動作しません。私もこれを試してみました

$date = date('Y-m-d'); 
    $date1 = date('Y-m-d',strtotime("-1 days")); 
    $date2 = date('Y-m-d',strtotime("+1 days")); 

    $query = $this->db->get_where('info',array(dates => $date2 or $date or $date1) 

); 

$date = date('Y-m-d'); 
$date1 = date('Y-m-d',strtotime("-1 days")); 
$date2 = date('Y-m-d',strtotime("+1 days")); 
$datefix = $date or $date1 or $date2; 

$query = $this->db->get_where('info',array(dates => $datefix)); 

の両方が作業をdoesnot

は、私はこれを試してみました。私はARRAYまたはSTRTOTIMEの中でORとAND構文を使う方法を探していましたが、それを見つけることはできませんでした。誰もこれで私を助けることができますか?少しの助けをいただければ幸いです!

+0

どのデータベースクラスを使用していますか? – TimBrownlaw

+0

@TimBrownlaw私はデータベースにMySQLを、フレームワークにCodeIgniterを使用しました。これはデータを表示する私のモデルです。 –

答えて

1

は、クエリの構文をチェックする必要がまず第一に、この

$this->db->where('dates <=', $date1); 
$this->db->where('dates >=', $date2); 
$query = $this->db->get('info'); 

OR

$this->db->where('dates', $date); 
$this->db->where('dates', $date1); 
$this->db->where('dates', $date2); 
$query = $this->db->get('info'); 
+0

これを試してみましたが、動作しません。それはあなただけの条件がある場合に機能します。私は "日付"の部分で間違っていますか? –

+0

生成されたSQLとは何ですか?データベースクラスに、生成されたSQL文が表示されるようなものがある場合は、 – TimBrownlaw

+0

テーブル構造を見ることができます。@MikaelLouis – shubham715

1

を試してみてください。それは完全に間違っているからです。使用するBETWEEN

SELECT * 
FROM `TABLENAME` 
WHERE (dates BETWEEN '$date1' AND '$date2') 

私はそれが役立つことを願っています!