Probleme mit verknüpfter IF Bedingung

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

  • Probleme mit verknüpfter IF Bedingung

    Hallo,
    ich bin kein blutiger Anfänger mehr, gehöre aber auch nicht zu den Profis in Sachen PHP und MySQL.
    Bin dabei einen Veranstaltungskalender zu basteln, Die Verbindung zur Datenbank funktioniert einwandfrei. Die Datenausgabe eigentlich auch bis auf den folgenden kleinen Fehler:

    In einer Tabelle gibt es ein Anfangsdatum (datum1) und ein Enddatum (datum2). Ich möchte nun mittels einer Verknüpften If Bedingung einige Termine ermitteln. Das Startdatum darf kleiner als heute sein, oder aber genau heute. Das Enddatum darf genau heute sein, aber auch größer als heute. Mein Abfragestring sieht wie folgt aus:

    if (($dsatz[datum1] <= date('d.m.Y') or $dsatz[datum1] == date('d.m.Y')) and ($dsatz[datum2] == date('d.m.Y') or $dsatz[datum2] >= date('d.m.Y')))

    Ich kann eigentlich keinen Fehler entdecken, trotzdem bekommen ich bei der Ausgabe mit PHP auch Daten angezeigt bei denen das Startdatum größer als heute ist, was ja laut Bedingung gar nicht vorkommen soll. Vielleicht kann mir einer von euch helfen.

    Danke und Gruß
    Mario

  • #2
    Abgesehen davon, dass du das da doppelt gemoppelt hast (<= bedeutet schon kleiner _oder_ gleich bzw >= größer _oder_ gleich), lass dir doch mal die Daten der Termine Ausgeben. Evtl. steckt da der Fehler. Ansonsten scheint die If-Abfrage richtig zu sein.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Hi,

      sieht aus, als würdest Du da String-Vergleiche machen? Warum lässt Du das nicht die DB filtern?

      LG

      Kommentar


      • #4
        Danke für eure antworten.

        @unset: Es gibt Tage, da hat man ja im wahrsten Sinne des Wortes ein Brett vor der Birne. Natürlich hast Du Recht, das mit dem doppelt gemoppelten war mir gar nicht aufgefallen.
        Die Datenausgabe ist soweit in Ordnung, es sind auch alle Daten korrekt in der Datenbank eingetragen. Es ist halt das Problem, das er mir auch ein Startdatum das erst am 12.12.2007 ist mit anzeigt und das ist der eigentliche Fehler.

        @kuddeldaddeldu: Ich habe schon einen lange und unübersichtliche Select-Abfrage, da ich die Datumsdaten mit Date_Format() vom englischen ins deutsche Format umwandel. Wenn ich jetzt noch nach bestimmten Daten suche, habe ich einen Riesen Select String.

        Kommentar


        • #5
          Hi,
          @kuddeldaddeldu: Ich habe schon einen lange und unübersichtliche Select-Abfrage, da ich die Datumsdaten mit Date_Format() vom englischen ins deutsche Format umwandel. Wenn ich jetzt noch nach bestimmten Daten suche, habe ich einen Riesen Select String.
          Was spricht dagegen? Besser als elend viele Daten in einer Schleife durchnudeln, die man gar nicht braucht. Vielleicht ist es nicht deutlich geworden: Du vergleichst Strings. Und da ist halt "12.12.2007" < "21.09.2007". Works as designed.

          LG

          Kommentar


          • #6
            AAAAhhh, Danke für den wink mit dem ganzen Zaun
            Ich glaube ich habe es verstanden. Werde es gleich mal umsetzen.

            Kommentar


            • #7
              @kuddeldaddeldu: Dankeschön, war genau der richtige Tipp. Habe vor ca. einem halben Jahr schonmal eine PHP Programmierung mit Datenbank gemacht und da habe ich es auch mit Select gemacht. Wie kann man nur in so kurzer Zeit soviel vergessen?
              Naja, dank Deiner Hilfe habe ich es ja doch noch hinbekommen.

              Kommentar

              Lädt...
              X