Abfrage DB - Zeiten vergleichen - Logikproblem

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

  • Abfrage DB - Zeiten vergleichen - Logikproblem

    Hallo,
    habe mal wieder ein Problem:

    Es soll geprüft werden, ob Seminare sich überlappen. Ein Seminar dauert 90 Minuten.

    Nun frage ich mit while($row = mysql_fetch_array($sql_sel_vortrag)){
    die Daten aus der DB ab.

    1. Durchlauf : Ergebnis aus DB -> Start des Seminars 1: 2004-04-15 14:00:00
    2. Durchlauf : Ergebnis aus DB -> Start des Seminars 2: 2004-04-15 15:00:00
    3. Durchlauf : Ergebnis aus DB -> Start des Seminars 3: 2004-04-15 18:00:00
    4. Durchlauf : Ergebnis aus DB -> Start des Seminars 4: 2004-04-15 19:00:00

    Ich habe eine Funktion geschrieben, an die 3 Parameter übergeben werden. (Anfangszeit des 2. Seminars, Anfangszeit des 1. Seminars, Dauer des Seminars)

    Die Funktion gibt true zurück wenn sich die Seminare überscheiden und false, wenn sie sich nicht überschneiden.

    Zwischen den 1 und 2 Durchlauf müßte die Fkt. ein true zurückgeben, zwischen dem 2 und 3 ein false und zwischen dem 3 und 4 ein true.

    Mein Problem ist jetzt, dass ich die Daten nicht vergleichen kann, weil ich beim ersten Durchlauf nur die erste Zeit bekomme, beim zweiten nur die zweite Zeit usw.

    Hat jemand eine Idee

    Hier noch ein bisschen Quellcode:

    while($row = mysql_fetch_array($sql_sel_vortrag)){ $datum= $row[date].' '.$row[time];
    $ueberlappt = time_overlap($?????????,$datum,90);
    }
    Manus manum lavat.

  • #2
    schau dir mal den sticky über JOINS im sql-forum an
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hi,
      irgendetwas verstehe ich da nicht. Ich habe doch nur eine Tabelle. Für JOINS braucht man doch aber immer zwei Tabellen, oder ?

      Gruß Olli
      Manus manum lavat.

      Kommentar


      • #4
        und wer verbietet dir ein und dieselbe tabelle zweimal zu verwenden?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          hmm,

          generell ist tab1 JOIN tab1 nicht zu verachten
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Kannst Du mal ein kleinen Tipp geben, wie das funzen soll. Bei JOINS habe ich in der Ausbildung schon immer versagt
            Manus manum lavat.

            Kommentar


            • #7
              sticky gelesen?
              erste versuche gepostet?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Gut, das ist ein Deal ... schau ich mir morgen an, und wenn ich nicht weiter komme, melde ich mich noch mal
                Manus manum lavat.

                Kommentar


                • #9
                  tu das, wenn du's morgen nicht weißt und versuche postest lass ich eventuell mit mir reden und geb dir ne lösung *fg*
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Obwohl, ich verstehe schon gar nicht, wie mir das weiterhelfen soll.
                    Ich will ja gar nicht schauen, ob die übereinstimmen, sondern ob die Differenz der beiden Zeiten > 90 Minuten ist.
                    Ich denke doch eher, dass das ein Programmierproblem ist und nicht ein DB Problem.
                    Manus manum lavat.

                    Kommentar


                    • #11
                      Somit denke ich, dass dein Verschieben in die SQL / Datenbanken Kategorie doch sehr voreilig ist.
                      Manus manum lavat.

                      Kommentar


                      • #12
                        Original geschrieben von Churchill27
                        Ich denke doch eher, dass das ein Programmierproblem ist und nicht ein DB Problem.
                        du kannst dir aber mit einem SELECT (mit JOIN) die seminarkombinationen ausgeben lassen, deren starttermine weniger als 90 minuten auseinander liegen


                        undd aher denke ich, dass das verschieben nicht voreilig war

                        als mod weiß ich sowas, bin ja schließlich eine art halbgott
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Das soll heißen, das man dafür keine Schleife braucht, um sich die Daten aus der Datenbank zu holen, sondern nur den Select mit JOIN ?
                          Manus manum lavat.

                          Kommentar


                          • #14
                            du brauchst ne schleife, weil du zwei datensätze geliefert bekommst

                            es tut da ein select geben, das wo dir liefern tuen tut:
                            Code:
                            seminar 1 | seminar 2
                            seminar 3 | seminar 4
                            und das is ja das, was du suchst oder?
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              als mod weiß ich sowas, bin ja schließlich eine art halbgott
                              OffTopic:
                              aber nur eine art


                              laß es die db machen, ist sicher einfacher als php alles zerkauen zulassen, imho.

                              EDIT:
                              ja
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X