[MySQL 3.23.X] Belegungskalender

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

  • [MySQL 3.23.X] Belegungskalender

    Folgendes Problem:

    ich möchte aus einer mysql Datenbank die Ferienobjekte auslesen, die bestimmte Eigenschaften erfüllen und nicht belegt sind. Das mit den Eigenschaften funktioniert, aber mit der Belegungsprüfung klappt nicht.

    ich habe eine Datenbank "Belegung" mit den Spalten "Ferienhausid", "Datum_von"(date), "Datum_bis"(date), "Status" und "Gastid". Ich möchte nur die Zeiten eintragen, wenn das Ferienhaus belegt ist (dann Status=2). Bei der select Abfrage möchte ich aber alle Ferienobjekte aus der Datenbank bekommen, die zu einer bestimmten Zeit frei sind. in einer Suchmaske kann eine Kalenderwoche gewählt werden und die Dauer in Wochen. Übergeben werden daher $Kalenderwoche (date) und $urlaubsdauer (1,2,3,4 oder 5(Wochen)) als abzufragender Zeitraum. Wie gestalte ich am besten die select abfrage???

  • #2
    naja,

    denke du brauchst nen JOIN, und dann suchst du halt die Einträge (Objekte), die keinen entsprechenden Eintrag in der Belegungstabelle haben...

    Kommentar


    • #3
      Re: [MySQL 3.23.X] Belegungskalender

      Original geschrieben von webhome
      ich habe eine Datenbank "Belegung" mit den Spalten "Ferienhausid", "Datum_von"(date), "Datum_bis"(date), "Status" und "Gastid". Ich möchte nur die Zeiten eintragen, wenn das Ferienhaus belegt ist (dann Status=2).
      wozu dann überhaupt ein status-flag?

      Bei der select Abfrage möchte ich aber alle Ferienobjekte aus der Datenbank bekommen, die zu einer bestimmten Zeit frei sind.
      da würde sich wohl anbieten, mal die suchfunktion zu benutzen - ähnlich gelagerte anfragen gab's ja schon öfter, beispielsweise http://www.php-resource.de/forum/sho...ghlight=termin
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Naja, habt ihr nicht etwas genauere Vorschläge?


        mysql_query("SELECT Status
        from
        Belegung
        where

        ?????????
        and
        Status != '2'

        Wie soll ich die Anfrage nach der nicht belegten Zeit machen???

        Kommentar


        • #5
          NOW() und INTERVAL könnten deine probleme lösen

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            wozu NOW()?
            in einer Suchmaske kann eine Kalenderwoche gewählt werden
            Naja, habt ihr nicht etwas genauere Vorschläge?
            ich hab dir JOIN genannt. ohne machts keinen sinn.

            wir sind aber nicht dazu da, deine scripte zu schreiben...

            Kommentar


            • #7
              Tja, würde mein script auch gerne selber schreiben, aber mir ist nicht klar, wie das mit join gehen soll.
              Villeicht doch mal eine Ausnahmeund ein etwas genauerer Hinweis?

              Kommentar


              • #8
                Hinweis: In diesem Forum gibt es einen Sticky-Thread zum Thema JOINs. Ist nicht zu übersehen und mit "Wichtig" markiert.

                Kommentar


                • #9
                  Mein Problem liegt nicht in der Abfrage mehrerer Tabellen, sondern wie ich genau die Suchabfrage gestalten muss, damit nur die freien Fereinobjekte ausgegeben werden. Hat jemand auch eine passende Antwort?

                  Kommentar


                  • #10
                    wenn ich als zeitraum 2 wochen angebe, sollen dann die ferienhäuser rauskommen, die die vollen 2 wochen frei sind, oder die innerhalb der 2 wochen frei sind, aber vielleicht nur 4 tage?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Da eine Belegung immer nur wochenweise erfolgen kann, ist auch immer die volle woche belegt. D. H. es gibt nicht den Fall, dass nur 4 der 7 Tage einer Woche belegt sind.

                      Mein Problem ist, dass ich nicht weiss, wie ich die select abfrage gestalten muss, um alle Ferienobjekte zu bekommen, die frei sind. In der Belegungstabelle wollte ich nur die Zeiten eintragen, die belegt sind. Beispiel: Ferienhausid=11 Datum_von 01-01-2005, Datum_bis 14-01-2005 und status =2 für belegt. wie müsste ich richtigerweise nach dem freien Zeitraum fragen?
                      Als Ergebnis möchte ich alle zu einem bestimmten Zeitraum freien Ferienhäuser bekommen.

                      Über brauchbare Lösungsvorschläge und Antworten wäre ich sehr dankbar, da ich im Moment nicht weiterkomme!

                      Kommentar

                      Lädt...
                      X