Il titolo del topic non è molto chiaro, ma non ho trovato niente di meglio per sintetizzare quanto segue.
Vorrei chiedervi se esiste un modo più ordinato, rispetto al codice sotto, per suddividere i record estrapolati da mysql, in tre blocchi suddivisi in ordine alfabetico (che andranno a riempire tre campi select).
Primo blocco: tutti i nomi che iniziano da A ad H
Secondo blocco: tutti i nomi che iniziano da I a P
Terzo blocco: tutti i nomi che iniziano da Q a Z
Il codice che uso è questo:
Ho quindi tre query e tre cicli while, uno per ogni blocco di nomi. C'è qualche modo per semplificare il tutto, magari riducendo il codice ad un solo ciclo while, pur mantenendo le tre query? Oppure dite che va bene così?Codice PHP://Estrazione dei nomi che iniziano con A fino ad H
$nomi_ah_sql = $data->query("SELECT nome FROM persone WHERE nome REGEXP '^[A-H]' ORDER BY nome ASC");
while($nomi_ah_obj = $data->estrai($nomi_ah_sql)){
$nome_ah = $nomi_ah_obj->nome;
}
//Estrazione dei nomi che iniziano con I fino a P
$nomi_ip_sql = $data->query("SELECT nome FROM persone WHERE nome REGEXP '^[I-P]' ORDER BY nome ASC");
while($nomi_ip_obj = $data->estrai($nomi_ip_sql)){
$nome_ip = $nomi_ip_obj->nome;
}
//Estrazione dei nomi che iniziano con Q fino a Z
$nomi_qz_sql = $data->query("SELECT nome FROM persone WHERE nome REGEXP '^[Q-Z]' ORDER BY nome ASC");
while($nomi_qz_obj = $data->estrai($nomi_qz_sql)){
$nome_qz = $nomi_qz_obj->nome;
}

Rispondi quotando