PDA

View Full Version : [PHP]Ricerca nel db di due o più chiavi in input


Gregor
03-02-2016, 14:53
Ho un problema circa una ricerca su dati memorizzati in un db MySql.

In input passo dei valori in un campo di testo, separati da una virgola...pippo,pluto,paperino...questi finiscono in un campo della tabella.

Con una semplice query cerco tutti i records che contengono una sola delle parole (che vado a scrivere in un campo di testo), molto banalmente con un like.

Adesso però vorrei cercare e filtrare i records, inserendo nella ricerca più parole chiave, sempre separate da virgola.

Es. adesso se cerco pippo il sistema filtra e trova (per es.)

...paperino,pippo,pluto,...

se cerco pluto,pippo il record precedente non lo trovo naturalmente.

vorrei che cercando pippo,pluto trovasse tutti i records che contengono come chiave di ricerca le due chiavi, anche se nel db sono memorizzati come ...pluto,pippo...

Spero di essermi spiegato :D

Tnx!

Gregor
04-02-2016, 08:03
Ho risolto con un array...


$chiavi=explode("," ,$_POST['cerca']);
while (list(, $valore) = each ($chiavi))
{
$valore = str_replace(" ", "", $valore);
$elementi[] = $valore;
}

e una select con più like '%".$elementi[i]."%' sulla chiave.