WHERE nachricht LIKE mit einem oder mehreren Wörtern?

WHERE nachricht LIKE mit einem oder mehreren Wörtern?

am 23.03.2006 09:30:12 von Sandra Mager

Ich möchte gerne über eine simple Abfrage meine Tabelle auslesen. Es klappt
auch wenn ein Begriff abgefragt wird. Nun möchte ich aber zwei oder gar drei
Begriffe abfragen. Wie gehe ich da am besten und vor allem am einfachsten
vor?

Sanrda
..
..
html Abfrage......suchwort
..
..
..
$sql = "select * from nachrichten WHERE nachricht LIKE '%suchwort%'";
$result = mysql_query($sql) or die ($sql.'
'.mysql_error());
while ($ausgabe = mysql_fetch_object($result)) {
echo $ausgabe->titel;

Re: WHERE nachricht LIKE mit einem oder mehreren Wörtern?

am 23.03.2006 10:43:28 von Thomas Rachel

Sandra Mager wrote:

> Ich möchte gerne über eine simple Abfrage meine Tabelle auslesen. Es
> klappt auch wenn ein Begriff abgefragt wird. Nun möchte ich aber zwei oder
> gar drei Begriffe abfragen. Wie gehe ich da am besten und vor allem am
> einfachsten vor?

Entweder mit OR oder mit REGEXP.

select * from nachrichten WHERE nachricht LIKE '%suchwort%' OR nachricht
LIKE '%suchwort2%' ...

oder

select * from nachrichten WHERE nachricht REGEXP '.*(suchwort1|suchwort2).*'

-> da bin ich mir mit der Syntax jetzt aber nicht ganz sicher.


Thomas