Kurt: 4. PHP / MySQL: Teil Anzahl "Wörter": Frage zu implode und query

Beitrag lesen

Hi,

ich hab nun die Wörter in einem Array $worte (wort1,wort2,wort3), habe die zu durchsuchenden Spalten in einem array $durchsuche_spalten (name,vorname,adresse).

Meine Query wird so lauten

~~~sql    $sql= "select * from table
where
".$suchquery." LIMIT 0,20";

  
Nun bau ich mir die Query  
  
~~~php
  
$suchquery = "concat_ws('|', ";  
$suchquery .= implode (",", $durchsuche_spalten);  
$suchquery .= ") LIKE '%$suchbegriff%'";  

Funktioniert bestens mit einem Suchbegriff.

Um jetzt zb. bei 2 oder mehr Suchbegriffen ebenfalls mit "implode" arbeiten zu können, würde ich gerne das array $worte durch implode mit einem "AND" verbinden, um dann sowas zu bekommen wie

select * from table  
where  
concat_ws('|',  
name,  
vorname,  
adresse) LIKE '%wort1%'  
AND  
concat_ws('|',  
name,  
vorname,  
adresse) LIKE '%wort2%'  
AND  
concat_ws('|',  
name,  
vorname,  
adresse) LIKE '%wort3%'

Und da hakt es gerade. Geht das überhaupt?

Freundlichst, Kurt