ciao a tutti, ho bisogno di fare una ricerca su un sito e devo poter cercare più parole in più campi, non so se avete capito, lo spiego meglio:
prendiamo ad esempio che nel campo cerca scrivo 'mario rossi 0171' devo trovare tutti gli utenti che tra nome, cognome, telefono e email abbiano tutte quelle parole.
Il mio metodo è il seguente:
codice:
$vsSql="select * from utenti";
$vlQry=mysql_query($vsSql,$vlDb) or die (mysql_error());
$trovato=1;
while($vaRow=mysql_fetch_array($vlQry,MYSQL_ASSOC))
{
$stringa=$vaRow[nome].' '.$vaRow[cognome].' '.$vaRow[tel].' '.$vaRow[email];
$stringa2 = explode (" ", $_GET[cerca] );
foreach ($stringa2 as $parola)
{
if(stristr($stringa,$parola))
{}
else
{$trovato=0;}
}
if($trovato)
{
echo $vaRow[id];
}
}
il problema è che ci sono circa 500.000 utenti e la ricerca a volte impiega ache più di 40-50 secondi. Avete un metodo alternativo? o qualche correzione?