2016-04-28 5 views
0

Hintergrund:CodeIgniter Query Builder - Get Daten mit Datum innerhalb der nächsten 2 Tage

Benutzer können eine Buchung erstellen. Sie können für diese Buchung ein Datum und eine Uhrzeit festlegen, für die eine Reservierung erforderlich ist. Dies geht als Datetime-Format in die db über.

Ich habe eine Seite, die Buchungen zeigen muss, die innerhalb der nächsten zwei Tage werden kommenden und nicht nach

Ausgabe:

Ich habe Probleme, die Daten erhalten innerhalb von 2 Tagen beschränkt.

Momentan kann ich alle kommenden Buchungen abrufen.

aktuelle Code

$this->db->select('*'); 
    $this->db->from('nh_bookings'); 

    $this->db->where('nh_bookings.booking_req_by_date_time > DATE_SUB(now(), INTERVAL 2 DAY)'); 

    $query = $this->db->get(); 
    return $query; 

Jede Hilfe wäre sehr dankbar!

+0

booking_req_by_date_time datentyp? – AkshayP

+0

'where (..., '', false)' – splash58

Antwort

0

Sie müssen wahrscheinlich so etwas wie dies tun:

$this->db->where('nh_bookings.booking_req_by_date_time >=', date('Y-m-d H:i:s', strtotime($start_date." 00:00:00"))); 
$this->db->where('nh_bookings.booking_req_by_date_time <=', date('Y-m-d H:i:s', strtotime($end_date." 23:59:59"))); 

Oder:

$this->db->where("nh_bookings.booking_req_by_date_time BETWEEN ".date('Y-m-d H:i:s', strtotime($start_date." 00:00:00"))." AND ". date('Y-m-d H:i:s', strtotime($end_date." 23:59:59"))); 
+1

Danke! Nahm deine erste Antwort, mit 2 WHERE-Statements, änderte es ein bisschen, und es funktioniert jetzt wie ein Charme! Geändert zu: $ this-> db-> wo ('nh_bookings.booking_req_by_date_time> =', Datum ('Y-m-d H: i: s', $ start_date)); $ this-> db-> wo ('nh_bookings.booking_req_by_date_time <=', Datum ('Y-m-d H: i: s', $ end_date)); –

+0

@TomPearce Schön, dass es dir geholfen hat! Glückliche Kodierung! :) – hmd

0
$this->db->where('nh_bookings.booking_req_by_date_time < DATE_ADD(now(), INTERVAL 2 DAY) AND nh_bookings.booking_req_by_date_time > NOW()'); 

ruft Artikel ab jetzt bis zum nächsten zwei Tage.

Denken Sie auch daran, dass where() -Methode das dritte Argument $ escape hat, das standardmäßig TRUE ist. Dieses Argument kann dazu führen, dass die Mysql-Funktionen nicht mehr korrekt funktionieren.