Mailinglisten-Archive |
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
php::bar PHP Wiki - Listenarchive