abfrageprobleme

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

  • abfrageprobleme

    hallo!
    vorweg:
    ich habe ein kleines projekt übernommen (termindatenbank)!
    die termine werden mit
    #titel#
    #beschreibung#
    #day#
    #month#
    #year#
    in die db geschrieben!

    die abfrage funktioniert auch, wenn ich sage, "zeig mir alle termine im monat xyz"!

    blöd ist nur, dass er mir auch die zeigt, die 10 tage zurück liegen - zwar im selben monat aber in der vergangenheit!!!!

    hier mal das script
    PHP-Code:
    $aktuellermonat date("m");
    $aktuellesjahr date("Y");

    $sql "SELECT title, id FROM events left join calendar_cat on events.cat=calendar_cat.cat_id where approved='1' AND 
    (
    events.cat IN (2, 13, 11) OR
    description LIKE '%suchwort%' 
    )
    AND month >= 
    $aktuellermonat AND year >= $aktuellesjahr 
    ORDER BY year, month, day ASC"

    so weit so gut! das klappt ja auch!

    aber wie mach ich es, dass die tage in der vergangenheit nicht angzeigt werden?!?!?!


    danke!

  • #2
    wie wäre es, mal nicht reservierte wörter als spaltennamen zu verwenden ... ansonsten 'backticks' ... hatten wir heute schon mal.
    Kissolino.com

    Kommentar


    • #3
      So ist's eh quatsch ...

      Code:
      AND `day` >= $aktuellertag AND  `month` = $aktuellermonat AND `year` = $aktuellesjahr
      könnte passen ... !
      Zuletzt geändert von goth; 25.06.2004, 12:37.
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        OffTopic:
        ich frage mich, welcher Idi*t diese DB-Design erstellt hat

        Kommentar


        • #5
          AND `day` >= $aktuellerdate
          ne!!!

          Kommentar


          • #6
            Ja ... es mußte $aktuellertag heißen ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              wie nee? du musst den Kalendertagwert einsetzen, z.B. 25 für heute oder $aktuellerdate = date('j');

              Kommentar


              • #8
                das hab ich probiert! läuft aber nicht - dann werden bsp. nur noch tage angezeigt die auch im nächsten monat größer sind als der heutige!

                Kommentar


                • #9
                  Nein ... die werden nicht angezeigt, weil in meinem Statement MONAT und YEAR auf Gleichheit (=) und nicht >= geprüft werden ... schließlich war Deine Frage: "zeig mir alle termine im monat xyz"!
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    evtl. etwas unglücklich ausgedrückt! sorry!
                    nein, ich zieh mir alle termine aus der db die
                    month >= $aktuellermonat AND year >= $aktuellesjahr
                    sind!
                    schreib mir die also einfach untereinander (auch die im dezember sind werden aufgelistet)!

                    jetzt werden aber auch noch termine vom 12.06.2004 angezeigt!! das ist das problem!!
                    jetzt deutlich geworden?

                    Kommentar


                    • #11
                      ? keine idee ?

                      Kommentar


                      • #12
                        das mit dem Auftrennen von Datum in 3 Felder ist wie gesagt schon besch**sen. Versuch mal so:

                        ... AND DATEDIFF(CONCAT(`year`,'-',`month`,'-',`day`),CURDATE())>=0 ...
                        EDIT:
                        ist rein SQL, wenn du flexibel bleiben möchtest kannste modifizieren, indem du php-seitig was übergibst.
                        Zuletzt geändert von asp2php; 25.06.2004, 13:27.

                        Kommentar


                        • #13
                          Original geschrieben von s.roettger
                          ? keine idee ?
                          nicht drängeln, das wird hier (und überhaupt) nicht gern gesehen

                          Kommentar


                          • #14
                            sorry

                            Kommentar


                            • #15
                              meinst du so?
                              PHP-Code:
                              $sql "SELECT title, id FROM events left join calendar_cat on events.cat=calendar_cat.cat_id where approved='1' AND 
                              (
                              events.cat IN (2, 13, 11) OR
                              description LIKE '%suchwort%' 
                              )
                              AND DATEDIFF(CONCAT(`year`,'-',`month`,'-',`day`),CURDATE())>=0
                              ORDER BY year, month, day ASC"

                              dat funktioniert net.........

                              Kommentar

                              Lädt...
                              X