Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit der Zeit ;)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit der Zeit ;)

    Hallo Leute,

    Hät da mal ne Frage ob ihr da ne Idee habt...

    Also...gegeben sind 2 Spalten mit Datumsangaben die per mktime() in die Tabelle gespeichert werden.

    1. id
    2. Spalte: Anfangsdatum
    3. Spalte: Enddatum
    4. pp_id

    Nun folgendes Problem.

    PHP-Code:
            $sql="SELECT abflugtag,ankunfttag,count(res_id) as ID FROM reservierungen 
                                                                  WHERE ankunfttag > "
    .mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'))." and 
                                                                  abflugtag < "
    .mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y')).
                                                                  and pp_id = "
    .$this->parkplatz_nummer.
                                                                  GROUP BY res_id"
    ;
            
    $query = new Query($sql);
            
    $ds $query->fetch();
            
    $query->free(); 

    Hiermit rufe ich ab wieviel Parkplätze momentan belegt sind. War auch soweit ganz easy. Nur wie muss ich die Abfrage gestalten wenn ich wissen will wieviele parkplätze in der Zeit von X1 bis X2 belegt sind. Ich will praktisch wissen ob noch ein Auto in dieser Zeit auf den Parkplatz passt und die Maximale anzahl vom X3 nicht überschritten wird.


    Praktisch: Prüfe im Zeitraum vom x1 bis x2 ob bei einer neuen Reservierung x3 nicht überschritten wird.

    Ich hoffe ich hab mich einigermaßen klar ausgedrückt




    id ist eine fortlaufende Nummer
    pp_id ist die eingetragene Parkplatz_id da es ja nicht nur ein Parkplatz ist wobei man sich hiervon nicht verwirren lassen sollte.
    Gehen wir einfach von einem Parkplatz aus



    MfG

    Julied


    PS: Danke jetzt schon für eure Antworten und evtl. Ideen.


  • #2
    Ich habe diese Frage in einem anderen Forum gelesen,
    und dir auf Seite 2 dieses Threads:
    ---> http://www.phpfriend.de/forum/ftopic40268-10.html

    eine Antwort gepostet.

    ~dilemma~

    Kommentar


    • #3
      Geht zwar nicht um das Problem, aber du kannst auch bereits deine aktuelle Abfrage vereinfachen indem du die Funtkion von Mysql für das Datum verwendest:

      abflugtag < ".mktime(date('H'),date('i'),date('s'),date('m'),d ate('d'),date('Y'))."

      wäre das gleiche wie

      abflugtag < NOW()


      Meine Gedanken zu dem Problem:
      Was bedeutet bei dir eigentlich Ankunfts-und Abflugtag genau?
      Ich nehm der Einfachheit halber einfach mal Startdatum und Enddatum. Du kannst dir das ja zusammenbauen wie es dir passt.

      Ab dem Startdatum ist der Parkplatz bis zum Enddatum belegt.

      Ein Parkplatz ist in dem Zeitraum X bis Y immer dann belegt wenn:
      Startdatum > X und Startdatum < Y
      oder
      Enddatum > X und Enddatum < Y

      In der SQL Abfrage würde das dann so aussehen (Hab jetzt zum Beispiel ein Datum genommen, Timestamp kannst ja selber einfügen)
      Du würdest die Anzahl der belegten Parkplätze in dem Zeitraum erhalten und könntest sie mit der Gesamtzahl vergleichen.

      Code:
      WHERE 
      	(Startdatum BETWEEN '2005-10-01' AND '2005-11-01')
      		OR
      	(Enddatum BETWEEN '2005-10-01' AND '2005-11-01')
      Ich hoffe das war etwa das was du suchst.

      Kommentar

      Lädt...
      X