phpbar.de logo

Mailinglisten-Archive

AW: Problem mit SELECT WHERE
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: Problem mit SELECT WHERE



Aloha alle,


> Gloss Mathias schrieb am Donnerstag, den 19. August 1999:
> > laut php-manual muss die bedingung hinter
> > dem WHERE in klammern stehen.
> 
> Nö, muß nicht!  (Darf aber ...)
> Welchen Passus im Handbuch meinst Du?
> 
Args... ich hab gerade noch mal nachgeschaut,
es steht NICHT im Manual .... ich frag mich
nur warum ich dann immer die Klammern setze ;-)

Vermutlich hatte ich es in einem Beispiel mal
so gesehen.

Aber was mir gerade noch zu dieser Abfrage
einfällt: So ein Problem hatte ich auch mal.

$sql = "SELECT * FROM modelsw WHERE
>  koerpergroesse>=$koerpergroessemin AND koerpergroesse<=$koerpergroessemax
>  AND konfektionsgroesse>=$konfektionsgroessemin AND
> konfektionsgroesse<=$konfektonsgroessemax
>  AND oberweite>=$oberweitemin AND oberweite<=$oberweitemax
>  AND waesche>=$waeschemin AND waesche<=$waeschemax
>  AND tallie>=$talliemin AND tallie<=$talliemax
>  AND huefte>=$hueftemin AND huefte<=$hueftemax
>  AND haarfarbe=$haarfarbe
>  AND augenfarbe=$augenfarbe,$db";

(Martin hat natürlich Recht, die ' gehören links
und rechts von den Strings hin ;-)

Wenn jemand z.b. bei Oberweite nichts eingibt,
(weil es ihm egal ist ) fällt diese Zeile auf die Nase:
	AND oberweite>=$oberweitemin AND oberweite<=$oberweitemax
(weil der rechte Teil dann  : oberweite <=0 und das ist vermutlich nirgends
der Fall, bedingt durch die AND-Verknüpfung ist dann auch alles falsch )

Ich hatte das damals dann so geloest (es waren lauter
minimum/maximum-Vergleiche,
hier jetzt nur für die Oberweite)

$wherestring = "1";  // für den Fall daß einer gar nichts eingibt, weil
sonst bleibt
                             // der $wherestring leer.
if ( $oberweite_min ) 
  { $wherestring .= "AND oberweite>='$oberweite_min' "; }
if ( $oberweite_max ) 
  { $wherestring .= "AND oberweite<='$oberweite_max' "; }

select * from model_tabelle where ($wherestring);



Grüße, Mathias

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive