Michael: Bitte Hilfe bzgl. MySQL-Abfrage... will einfach nicht so wie ich

Hallo Forum,

bitte euch um eure Hilfe...

So siehts aus:

$query22 = "SELECT * FROM $TBL_0012 WHERE beri01_ref_hkd = '$h_id' AND
             beri01_t_outlook = '' OR
             beri01_t_outlook = '0' AND
             beri01_status != '1' AND
             beri01_art = 'Besuchsbericht' AND
             beri01_art = 'Baustellenbericht' AND
             beri01_art = 'Projektbesprechung' AND
             beri01_art = 'Jahresgespräch' AND
             beri01_art = 'Aufgabe' ";

Es wind aber auch Einträge in der DB wie z.B. Telefonbericht usw.
... auch diese werden angezeigt...

Was ist daran falsch?

Viele Grüße
Michael

  1. Nabend

    Spontan würde ich es auf die 'OR' angabe schieben, sodass es reicht wenn
    beri01_t_outlook = '' true ist - ohne dass irgendwas anderes true sein muss... Nimm die Zeile:
    beri01_t_outlook = '' OR
    testweise mal raus, guck ob der dir wenigstens dann die Telefonberichte rauslässt.
    Wenn das geholfen hat, kannst du um die beiden t_Outlook bedingungen eine Klammer setzen:

    ...AND
    (beri01_t_outlook = '' OR
    beri01_t_outlook = '0') AND...

    1. Hallo

      ...AND
      (beri01_t_outlook = '' OR
      beri01_t_outlook = '0') AND...

      Der Tip mit der Klammer hat geholfen... super wußte gar ned das des geht...

      Klasse, alle meine Sorgen auf einmal weg ...:)

      Danke und viele Grüße aus Bayern
      Michael

  2. Hello,

    $query22 = "SELECT * FROM $TBL_0012 WHERE beri01_ref_hkd = '$h_id' AND
                 beri01_t_outlook = '' OR
                 beri01_t_outlook = '0' AND
                 beri01_status != '1' AND
                 beri01_art = 'Besuchsbericht' AND

    spätestens ab hier wird es "ulkig".

    beri01_art = 'Baustellenbericht' AND
                 beri01_art = 'Projektbesprechung' AND
                 beri01_art = 'Jahresgespräch' AND
                 beri01_art = 'Aufgabe' ";

    Denn "beri01_art" kann ja nicht gleichzeitig 'Baustellenbericht' und 'Projektbesprechung' enthalten.

    Versuche es einfach mal mit Klammern. Da hatten wir doch die letzten Tage gerade einen interessanten Thread. Eine Klammer mehr schadet weniger, als eine zuwenig, es sei denn, sie ist zuviel ;-))

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de