Mailinglisten-Archive |
Am Mit, 14 Feb 2001 schrieben Sie: > Hi Leute! > > Ich baue eine Suchfunktion, bei der mehrere Spalten einer MySQL-Tabelle > durchsucht werden sollen. Zusätzlich müssen zwei Kriterien immer zutreffen: > > Meine Abfrage lautet: > > $result_produkte=mysql_query("Select * From Produkte where > FK_Sprache='$FK_Sprache' and Status='1' or Status='2' and Name like > '%$suchfeld%' or Bezeichnung like '%$suchfeld%' or Text like '%$suchfeld%' > or Stichwoerter like '%$suchfeld%' order by Name"); > > Ich wähle damit also alle Produkte, bei denen Sprache zb. 1 ist, deren > Status entweder 1 oder 2 ist und bei denen in einem der weiteren Felder der > Inhalt der Variable $suchfeld vorkommt. > > Leider liefert er mir immer alle Datensätze aus. Habe ich da vielleicht > irgendeinen Denkfehler drin? Vielleicht ein paar klammern vergessen ? soweit ich weiss wird AND vor OR ausgewertet. er macht also alle die Sprache = z.B. 1 und Status =1 ODER Status = 2 and NAme like ..... Ich glaube du meinstest: $result_produkte=mysql_query("Select * From Produkte where FK_Sprache='$FK_Sprache' and ( Status='1' or Status='2' ) and ( Name like '%$suchfeld%' or Bezeichnung like '%$suchfeld%' or Text like '%$suchfeld%' or Stichwoerter like '%$suchfeld%' ) order by Name"); gruss, Michael -- KDE - fan, enthusiast and developer koch_(at)_kde.org, http://www.kde.org
php::bar PHP Wiki - Listenarchive