2016-06-07 8 views
0

Ich mache ein Bus-Reservierungssystem. Das ist mein Busfahrplan:Die vergangenen Zeit geplante Busse können nicht zeigen

structure of bus schedule

Hier können Sie in der ersten Reihe sehen (route_id = 1) die Abfahrtszeit ist 12.15 Uhr. Nun, in meiner Website ist das 1. Formular für die Auswahl des Ortes und des Datums der Reservierung. Nach Auswahl des Datums und des Ortes erscheint das 2. Formular mit dem verfügbaren Bus. Das ist mein Konzept.

Jetzt wähle ich die 'Colombo' und 'Jaffna' (1. Reihe nach Tabelle) und das Datum ist 2016-06-09. (heutiges Datum: 2016-06-7 und wenn ich dies wähle ist meine Zeit 12.20 Uhr) in der 1. Form.

In der 2. Form verfügbar Bus erscheint nicht.

Ich habe eine kleine Validierung durchgeführt, die ist:

(hier $ booked_date die Auswahl stammt aus der ersten Form und $ Abreise ist nach der Tabelle, die Zeit-Bus ist)

if ($booked_date >= date(“Y-m-d”) && ($departure > date('H:i:s'))) { 
    // show the bus 
} 

Mein Problem ist, wenn ich 2016-06-07 vorwähle (das heutige Datum und die Zeit der Auswahl des Datums ist 12.20pm) der Bus wird nicht angezeigt, da die Abfahrtszeit 12.15pm ist. Die Zeit ist vergangen. Also der Bus wird nicht angezeigt.

Aber wenn ich wählen 2016-06-09 (2 Tage Formular heute Datum und die Uhrzeit der Auswahl Datum ist 12.20pm) dieser Bus muss zeigen. aber hier zeigt es nicht. Wie man diese Validierung einrichtet

Ich möchte nicht die vergangenen Zeit Linienbusse. Wie geht das?

+0

Wenn das Datum in der Zukunft ist, ist es nicht notwendig, die Zeit mit der aktuellen Zeit zu vergleichen. Sie sollten nur die Zeit vergleichen, wenn es das gleiche Datum ist. – Barmar

Antwort

1

Wie @ImClarky wies darauf hin, dass Ihre Logik ist falsch. Bessere Alternative ist, die Zeit in Sekunden wie folgt zu vergleichen:

+0

Ihre Idee funktioniert perfekt !! Danke Kumpel – Thanoo

1

Das Problem mit Ihrer aktuellen if ist, dass, unabhängig davon, was $booked_date ist, wenn $departure ist vor der aktuellen Zeit wird es nicht den Bus anzuzeigen. Sie müssen sie getrennt behandeln. So etwas wie dies funktionieren kann:

$curDate = date('Y-m-d'); 
if($booked_date > $curDate || ($booked_date == $curDate && $departure > date('H:i:s'))) { 
    // show the bus 
} 
Verwandte Themen