ciao...
mi sto accingendo anche io a realizzare una cosa del genere...
secondo me si può fare così:
codice:
$sql="SELECT * FROM tabella ";
$sql.="WHERE visible=1 AND";
// tolgo gli spazi iniziale e finale dalla keyword
$keywords=trim($_POST["keywords"]);
// creo un array di parole nel caso siano più di una
$search=explode(" ",$keywords);
// per ogni parola inserita scrivo un pezzo di query che verifica se la parola è presente in almeno uno dei campi della tabella
foreach($search as $key=>$value)
$search[$key]="(campo1 LIKE'%".$value."%' OR campo2 LIKE'%".$value."%' OR campo3 LIKE'%".$value."%')";
// riunisco tutti i pezzi di query che ho creato attaccandoli l'uno all'altro tramite " AND " e li aggiungo alla query iniziale
$sql.=implode(" AND ", $search);
non ho ancora provato ad eseguire la query sul database ma ho provato a stamparla ed esce bene...
a me sembra corretto ma ti farò sapere meglio anche se funziona...