Buongiorno. Ho una tabella formata in questo modo:
Codice:
-----------------
ID | VALUE |
-----------------
1 | 1 3 9 6
2 | 1 6 8 9
3 | 3 5 7
4 | 1
5 | 3
Poi ho due variabili: $accepted che contiene una serie di numeri come sopra (es. "1 3 6 9") e $id che contiene l'ID di MySQL.
Ho bisogno di verificare se l'utente con $id = n; possiede un VALUE presente in $accepted.
Se era un sol valore avrei potuto utilizzare la funzione in_array(), ma dato che sono più valori (ed il numero di valori è variabile in lunghezza ed in data) ho abbozzato questo script di prova che mi genera una query:
Codice PHP:
$b = "1 3 5 9 6 4";
$e = explode(" ",$b);
$c = count($e)-1;
for($i=0;$i<=$c;$i++){
$q .= "OR gids LIKE '%".$e[$i]."%' ";
}
//echo "SELECT * FROM 5478_users WHERE id = '5' AND ".ltrim(trim($q),"OR");
echo "SELECT * FROM 5478_users WHERE ".ltrim(trim($q),"OR")." AND id = '5'";
//$a = mysql_query("SELECT * FROM 5478_users WHERE id = '5' AND".ltrim(trim($q),"OR"));
Il problema e che come risultato mi vengono restituite due o più valori.
Come risolvo? Che soluzione potrei adottare per il mio intento?