Hi,
ich habe hier eine SQL- Anfrage und verstehe nicht wieso es nicht so klappt wie ich es will.
Anfrage geht ca.
if ($suchwahl=="author"){
$a ="(author like '%".$suche_array[$index]."%' or editor like '%".$suche_array[$index]."%')";
for ($index=1 ; $index<count($suche_array) ; $index++){
$a = $a." ".$verknuepfung." (author like '%".$suche_array[$index]."%' or editor like '%".$suche_array[$index]."%')";
}
$a= "(".$a.")";
})";
In dem $suche_array habe ich ein Array der Länge 1 oder länger.
Oben wird dann alles zusammen gepflastert
Daraus baue ich mir den Select Statement:
$sql = "SELECT *
FROM tabelle
WHERE $a"
Es funktioniert , jedoch nicht ganz .
In der author Spalte der Tabelle stehetn Autoren als Text.
Wenn ich die folgenden Eintraege habe:
1: Hans, Thomas
und
2: Thomas, Hans
und nach den Stichwörter "Hans, Thomas" suche so (bei einer und Verknüpfung)
findet er nur den ersten Eintrag anstatt beide.
Anders herum wieder findet er bei der Suche nach "Thomas, Hans" nur den 2en Eitrag.
Habe ich da einen F3ehler im Statement?