Tom: MySQL where if

Beitrag lesen

Hello,

Ich stehe seit gestern vor einem Problem, an dem ich nicht weiter komm und hoffe, dass mir jmd helfen kann?!

Ich mache eine Abfrage von Personen per PHP. Es sollen jetzt beliebige Monate in Jahren abgefragt werden wo diese Geburtstag haben.

Meine Tabelle sieht in etwa so aus:


name     |geburtsmonat|geburtsjahr

Paul P.  |08          |1980
Tim H.   |04          |1975

u.s.w.

Der Benutzer hat jetzt 3 input Fields, wo er

  1. Geburtsmonat Anfang
  2. Geburtsmonat Ende
  3. Geburtsjahr(e) mit Komma getrennt
    eingeben kann.

Bei mir sieht das bis jetzt so aus:

SELECT * FROM menschen WHERE (anderer ausschluss)
AND (geburtsjahr = ".$gj." AND geburtsmonat < '".$gmmin."' AND geburtsmonat > '".$gmmax."')

Wie wäre es denn mit etwas Überlegungung? ;-P

Es gibt in MySQL auch BETWEEN.
Wenn Du nun versuchst, das für Dein Statement zu verwenden, dann sollte Dir spätestens dann auffallen, dass es

geburtsmonat BETWEEN $gmmin AND $gmmax

heißen müsste, was zurückübersetzt mit < und > dann

$gmmin <= geburtsmonat and $gmmax >= geburtsmonat

heißen müsste.

Du hast die Schranken verwechselt.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de