Detta così sembra piuttosto caotica, bisogna capire bene cosa stai facendo e come.
Citazione:
Nel database ho questa stringa di controllo '001,002,00,01' che equivale all'id del gruppo utenti
Se capisco bene, un valore come 001,002,00,01 vuol dire che una riga "appartiene" ai gruppi i cui id sono 001, 002, 01 e 01. In pratica hai un vettore di id che hai serializzato codificandolo come stringa ed inserito nella base di dati. Questo approccio, benché possibile, ti impedisce di sfruttare le capacità relazionali di MySQL. Concretamente significa che operazioni come quella che interessa a te dovrai realizzarle a mano anziché usare le funzioni che MySQL ti mette a disposizione (in particolare le JOIN).
Citazione:
poi ho gli utenti con 5 campi gruppo che messi in una variabile appaiono così '95030,00100,21605,,30000'.
Discorso analogo al precedente.
Citazione:
Ho pensato di usare STRPOS ma non va. In pratica dalla variabile $lettura tiro fuori i permessi che sono indicati a 3 cifre o 2 cifre.
Questi "permessi" cosa sono? Gli id dei gruppi?
Citazione:
Se tre cifre sono le prime tre da sinistra in $icone, altrimenti se sono due cifre, sono le prime due da destra dentro $icone...
Presa questa frase così com'è, senza nemmeno cercare di capirla, la traduzione in pseudocodice potrebbe essere:
Codice:
if (strlen($lettura) == 3) {
$digits = substr($icone, 0, 3);
return $lettura == $digits;
}
elseif (strlen($lettura) == 2) {
$digits = substr($icon, 0, 2);
return $lettura == $digits;
}
Che si può esprimere in modo compatto in:
Codice:
return $lettura == substr($icone, 0, strlen($lettura));