Salve,
Allora devo fare un motore di ricerca interno al sito in php e mysql.

Allora il punto è questo:

Devo ricercare un stringa all'interno di un testo e non necessariamente le parole della stringa cercata devono essere in sequenza. Mi spiego:

Allora io ho nel db il seguente testo in una riga del database:

"Oggi è un bella giornata di sole poichè siamo in estate."

Per trovare questo testo io nel motore di ricerca devo aver inserito:

"oggi" - "bella" - "giornata sole estate" - "siamo in estate" ect.


-----

Se per esempio, in un'altra riga del db ho il testo:

"Oggi piove perche' siamo in inverno."

E cerco solo "Oggi"....... mi dovrà restituire tutte e due i testi; se invece cerco "Oggi inverno" mi darà solo la seconda riga..... invece se cerco "oggi estate".... solo la prima e così via.

Praticamente la ricerca dovrebbe filtrare i risultati in base all'input.

****************
Concettualmente sarei propenso ad operare così:

Creo un array di elementi partendo dalla stringa inserita dall'untente per la ricerca:

$array = explode(" ", $stringa_utente);

ciclo for per cercare gli elementi attraverso una query sql (e qui penso di sbagliare qualcosa)

for($i=0; $i<count($array); $i++){
$key = $array[$i];
SELECT * FROM database WHERE $parola LIKE "%$key%";
}

Fatto sta che in questo modo la ricerca non viene filtrata ma vengono restituiti tutti i testi in cui ci sono presenti le parole da cercare inserite...

esempio: cerco "oggi inverno" mi restituisce entrambe le righe invece di stampare solo la seconda riga!!!