Problem mit Suche

toboli

Erfahrenes Mitglied
Hallo,

ich durchsuche derzeit eine Tabelle mit folgendem Code:

PHP:
$query = " 
SELECT * FROM `".$tab."` WHERE flocation ='".mysql_real_escape_string($location)."' AND
(`fbranche1` LIKE '".mysql_real_escape_string($wort)."'
OR `fbranche2` LIKE '".mysql_real_escape_string($wort)."' 
OR `fbranche3` LIKE '".mysql_real_escape_string($wort)."'
OR `fstrasse`  LIKE '".mysql_real_escape_string($wort)."' 
OR `ftel` LIKE '".mysql_real_escape_string($wort)."'
OR `ffax` LIKE '".mysql_real_escape_string($wort)."'
OR `fmail` LIKE '".mysql_real_escape_string($wort)."'
OR `fwww` LIKE '".mysql_real_escape_string($wort)."'
OR `fbesch` LIKE '".mysql_real_escape_string($wort)."'
OR `fkbesch` LIKE '".mysql_real_escape_string($wort)."'
OR `fkeywords` LIKE '".mysql_real_escape_string($wort)."'
OR  `fname` LIKE '".mysql_real_escape_string($wort)."') 
ORDER BY forder"; 

$result = mysql_query($query) or die(mysql_error());

Jetzt habe ich das Problem, dass nur der genaue Wortlaut gefunden wird.

z.B.

Eintrag: "Rotes Auto"

Wenn ich nun in die Suche nur "Auto" eingebe, wird nichts gefunden.

Ich habe versucht das Script so zu ändern:

PHP:
$query = " 
SELECT * FROM `".$tab."` WHERE flocation ='".mysql_real_escape_string($location)."' AND
(`fbranche1` LIKE '".mysql_real_escape_string(%$wort%)."'
OR `fbranche2` LIKE '".mysql_real_escape_string(%$wort%)."' 
....

So erhalte ich jedoch eine Fehlermeldung. Kann mit hier jemand weiterhelfen?
 
Ne, geht leider auch nicht... Durch die Klamer wird eben die Tabelle gefiltert, da die Suche mit $location für bestimmte Regionen gefiltert wird. Wenn ich die klammer weglasse, wird die komplette Tabelle durchsucht. Aber auch dann klappt die Suche nicht richtig...
 
Du hast mich falsch verstanden glaub ich, da steht
PHP:
OR `fbranche2` LIKE '".mysql_real_escape_string(%$wort%)."'

mach das ma zu
PHP:
OR `fbranche2` LIKE '".mysql_real_escape_string(%$wort%)."')

weil da ja vorher schon
PHP:
(`fbranche1` LIKE '".mysql_real_escape_string(%$wort%)."'
steht
 
Ich glaube ich steh grad ein bisserl auf dem Schlauch...Ich habe ja am Ende des $query auch noch ne Klammer. Also ich post jetzt mal den Code der zu der Fehlermeldung führt:

PHP:
$query = " 
SELECT * FROM `".$tab."` WHERE flocation ='".mysql_real_escape_string($location)."' AND 
(
`fbranche1` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fbranche2` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fbranche3` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fstrasse`  LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `ftel` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `ffax` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fmail` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fwww` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fbesch` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fkbesch` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR `fkeywords` LIKE '".mysql_real_escape_string(%$wort%)."' 
OR  `fname` LIKE '".mysql_real_escape_string(%$wort%)."'
) ORDER BY forder";
 
Nichs zu danken.
Weiterhin viel Erfolg.

Falls alle Fragen geklaert sind markier den Thread bitte als erledigt, falls nicht schon geschehen.
 
Zurück