phpbar.de logo

Mailinglisten-Archive

[php] and bzw. or Abfrage in MySQL

[php] and bzw. or Abfrage in MySQL

Michael Koch mkoch_(at)_bremen-ports.de
Wed, 14 Feb 2001 15:26:55 +0100


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