Hallo,
if ($operator1 == "UND"){
$daten = MYSQL_QUERY( "SELECT * FROM downloadprogramme WHERE titel LIKE '%$wort1%' OR beschreibung LIKE '%$wort1%' AND LIKE '%$wort2%' OR beschreibung LIKE '%$wort2%'",$verbindung);
Oft hilt es, mal ein bißchen umzuformatieren:
SELECT * FROM downloadprogramme
WHERE titel LIKE '%$wort1%'
OR beschreibung LIKE '%$wort1%'
AND LIKE '%$wort2%'
OR beschreibung LIKE '%$wort2%'
uups, In Zeile 4 hat sich ein Fehler eingeschlichen;-)
Abgesehen davon, Du solltest wenn, dann schon etwas schalteln, weil ich denke eigentlich willst Du ja daß wort1 und wort2 in entweder titel oder beschreibung vorkommen. Hui klingt das jetzt kompliziert.
Also
SELECT * FROM downloadprogramme
WHERE ( titel LIKE '%$wort1%'
OR beschreibung LIKE '%$wort1%')
AND ( titel LIKE '%$wort2%'
OR beschreibung LIKE '%$wort2%')
Und noch was,
wenn Du
SELECT alle,felder,der,tabelle,und,CONCAT(titel,beschreibung) suchtext FROM downloadprogramme
WHERE suchtext LIKE '%$wort1%'
AND suchtext LIKE '%$wort2%'
b
verwendest, ist das erst mal hübscher, zweitens übersichtlicher, drittens weniger fehleranfallig ...
und viertens von mir mal so hingeschrieben und nicht getestet :-(
Abgesehen davon, daß ich '*' nicht so gerne verwende, da es mir schon zu viele Probleme bereitet hat.
if ($operator1 == "ODER"){
$daten = MYSQL_QUERY( "SELECT * FROM downloadprogramme WHERE titel LIKE '%$wort1%'OR beschreibung LIKE '%$wort1%'OR LIKE '%$wort2%' OR beschreibung LIKE '%$wort2%'",$verbindung);
}
"SELECT * FROM downloadprogramme
WHERE titel LIKE '%$wort1%'
OR beschreibung LIKE '%$wort1%'
OR LIKE '%$wort2%'
OR beschreibung LIKE '%$wort2%'"
Und schon wieder die vermaledeite Zeile 4.
Und noch was,
wenn Du
SELECT alle,felder,der,tabelle,und,CONCAT(titel,beschreibung) suchtext FROM downloadprogramme
WHERE suchtext LIKE '%$wort1%'
AND suchtext LIKE '%$wort2%'
bzw.
SELECT alle,felder,der,tabelle,und,CONCAT(titel,beschreibung) suchtext FROM downloadprogramme
WHERE suchtext LIKE '%$wort1%'
OR suchtext LIKE '%$wort2%'
verwendest, ist das erst mal hübscher, zweitens übersichtlicher, drittens weniger fehleranfallig ...
und viertens von mir mal so hingeschrieben und nicht getestet :-(
Abgesehen davon, daß ich '*' nicht so gerne verwende, da es mir schon zu viele Probleme bereitet hat.
Grüße
Klaus
PS.: vielleicht siehst Du Dir auch noch REGEXP/RLIKE in der Doku an. Steht irgendwo bei der Whereklausel, nicht weit vom LIKE