Problem mit mySQL abfrage WHERE bereich

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

  • Problem mit mySQL abfrage WHERE bereich

    das ganze kann man evtl. auch unter den Titel den Wald vor lauter Bäumen nicht sehen stellen:

    Habe ein sql abfrage die wie folgt lautet:

    PHP-Code:
    SELECT tbl_news.titeltbl_news.texttbl_news_bereich.bezeichnungtbl_news.id
    DATE_FORMATtbl_news.timestamp'%d.%m.%Y' 
    FROM tbl_news
    INNER JOIN tbl_news_bereich ON tbl_news
    .bereich tbl_news_bereich.id
    WHERE 
    (
    (
    anzeigen =AND MONTHtimestamp ) = MONTHNOW( ) ) 
    ) OR 
    flag =1
    ) AND startseite =1
    ORDER BY timestamp DESC 
    diese abfrage sollte eigentlich im WHERE bereich zwischen 2 alternativen entscheiden können, was sie aber leider nicht macht.

    Diese beiden alternative wären wie folgt:

    1) die News darf angezeigt werden und wurde im aktuellen Monat geschrieben

    2) die News hat ein dauerflag und darf angezeigt werden

    beide alternativen sollen aber nur dann angezeigt werden, wenn das Element startseite mit 1 gefüllt ist.

    Und jetzt geht das ganze nicht und egal wie ich es ändere bekomme ich immer nur ein und denselben Eintrag angezeigt und zwar den bei dem das dauerflag gesetzt ist.

    Wie schon ganz am anfang erwähnt, ist wahrscheinlich "vor lauter Bäumen den Wald nicht sehen" ich komme aber einfach nicht weiter.

    Bitte helft mir

    Gruß

    Mario
    Nichts ist schwerer und
    nichts erfordert mehr Charakter
    als sich im offenen Gegensatz
    zu seiner Zeit zu befinden und
    laut zu sagen
    NEIN!!

  • #2
    Diese beiden alternative wären wie folgt:

    1) die News darf angezeigt werden und wurde im aktuellen Monat geschrieben

    hier steht ODER?

    2) die News hat ein dauerflag und darf angezeigt werden

    beide alternativen sollen aber nur dann angezeigt werden, wenn das Element startseite mit 1 gefüllt ist.
    Code:
    WHERE
      startseite = 1 AND news_anzeigen = ja AND (
        monat = dieser_monat AND jahr = dieses_jahr
        OR
        dauerflag = gesetzt
      )
    so sollte es gehen.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      mit deinem ODER? haste recht.

      Ich hab das ganze dann auch so angewandt wie du geschrieben hast (sieht wie folgt aus), doch leider geht deine Lösung auch nicht

      PHP-Code:
      WHERE startseite =AND anzeigen =AND (
      MONTHtimestamp ) = MONTHNOW( ) ) OR flag =1

      Ich kapier das jetzt dann wirklich nimmer
      Nichts ist schwerer und
      nichts erfordert mehr Charakter
      als sich im offenen Gegensatz
      zu seiner Zeit zu befinden und
      laut zu sagen
      NEIN!!

      Kommentar


      • #4
        geht nicht?

        du hast meine lösung verunstaltet, sie nicht richtig umgesetzt ...
        außerdem mußt du das jahr auch prüfen.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          hab den Fehler gefunden und es war so wie ich sagte, den Wald vor lauter Bäumen nicht sehen.

          Ich hatte fast nur einträge aus'm August und hab nicht gemerkt dass wir schon September haben.

          Sorry das ich mit so nem Scheiß eure Zeit beansprucht habe
          Zuletzt geändert von roemario; 02.09.2005, 08:45.
          Nichts ist schwerer und
          nichts erfordert mehr Charakter
          als sich im offenen Gegensatz
          zu seiner Zeit zu befinden und
          laut zu sagen
          NEIN!!

          Kommentar

          Lädt...
          X