Saluti a tutti, avrei bisogno di un suggerimento.
un form di ricerca manda una string contenente uno o più valori separati da una virgola (tipica struttura restituita dopo la selezione di una serie di checkbox: "a,z,c,r"). Nello specifico si tratta di codici associati alle lingue ("en-GB,fr,it"). Questa string viene mandata a uno script php che deve sondare ogni campo 'lingue_parlate' (varchar(40)) di una tabella 'accounts' e controllare se uno o più valori contenuti in questa string e separati da una virgola si trovano nel campo dedicato alle lingue parlate dall'utente associato ad ogni account. Le lingue parlate dall'utente sono registrate in un campo testo sotto questa forma: "fr,it,ru" (ad esempio). Infine lo script seleziona gli utenti che parlano una almeno delle lingue selezionate nel form.
Sebbene poco sexy, il mio script php finora funziona relativamente bene se una sola lingua deve essere individuata.
codice:
// finora lo script riceve il codice di una lingua soltanto
$lingua_cercata = "it";
// in un while dopo un select globale nella tabella 'accounts' recupero il valore di ogni campo 'lingue_parlate' e creo un array con i codici in esso contenuti:
$lingue_parlate_array = explode(",",$lingue_parlate);
$lingue_parlate_count = count($lingue_parlate_array);
for ($j = 0 ; $j < $lingue_parlate_count ; $j++) {
if ($lingua_cercata == $lingue_parlate_array[$j]) {
$boolLinguaParlata=true;
}
}
Ma se volessi fare la stessa ricerca non più con una sola lingua ma due o più lingue, e quindi con un parametro del tipo:
codice:
$lingue_cercate = "fr,it,ru" ?
Ogni suggerimento è il benvenuto. Grazie mille.
Tancrede