Buon giorno,
ho la necessità di stampare tutti dli utenti presenti in un database, in questo modo:
A
tutti i nomi che iniziano per A
B
tutti i nomi che iniziano per B
...
ecc
...
ecc
Come si può fare?
Buon giorno,
ho la necessità di stampare tutti dli utenti presenti in un database, in questo modo:
A
tutti i nomi che iniziano per A
B
tutti i nomi che iniziano per B
...
ecc
...
ecc
Come si può fare?
"To iterate is human, to recurse, divine." (R.(Heller))
Al posto di A poi ci metti B,C,D,E,ecc....Codice PHP:
SELECT * FROM NomeTabella WHERE ColonnaDaCercare LIKE "A%";
![]()
molto piu convenientemente fai
e poi, dopo che lanci la querycodice:SELECT * FROM users ORDER BY user_name
codice:$previousUserNameFirstChar = false; while($row = mysql_fetch_object($query)) { if ($previousUserNameFirstChar != $row->user_name{0}) { $previousUserNameFirstChar = $row->user_name{0}; echo 'Utenti che iniziano per ' . $perviousUserNameFirstChar . ' '; } echo $row->user_name . ' '; }
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
Bè allora fai una query che lo faccia in automatico, non c'avevo pensato.
e poi utilizzi un ciclo per estrarre il tutto.Codice PHP:
SELECT * FROM users ORDER BY ASC;
![]()
P.S : Ovviamente puoi migliorarlo è solo per esempio e spunto.Codice PHP:
<?php
$query = "SELECT * FROM users ORDER BY ASC";
while($result = mysql_fetch_assoc($query))
{
echo $result["Nome"]."
";
}
?>
Salve a tutti e grazie per i vostri interventi.
Ci sono delle sintassi che io ancora non conosco quindi non so se è quello che serve a me.
Così a naso mi sembrebbe giusto il secondo posto di daniele_dll, ma per chiarezza specifico ancora una volta cosa mi serve:
Dovrei realizzare una barra di navigazione di ricerca utenti per nome
e se viene selezionato il link "tutti", mi stampa tutti i nomi ordinati per iniziale e con l'iniziale alfabetica in evidenza, del tipo[A] (B) [C] [D].....[Z] [TUTTI]
A
Alessandro
Anita
Antonio
....
B
Barbara
Beatrice
Bianca
....
ecc...ecc
"To iterate is human, to recurse, divine." (R.(Heller))
Io ti consiglierei la query scritta da me perchè quella ordina alfabeticamente tutti i dati quindi prima tutti quelli con la A,B,C ecc....
Poi per formattare i nomi sia per la barra che in scala, in scala hai già la script ovvero con il
per metterli tutti sulla stessa linea basta che ci metti un separatore ....(|,/,-,ec...)
ma scusa, il codice che ho scritto io, non è più adatto? Stampa anche la lettera iniziale del nomeOriginariamente inviato da Ophy94
Io ti consiglierei la query scritta da me perchè quella ordina alfabeticamente tutti i dati quindi prima tutti quelli con la A,B,C ecc....
Poi per formattare i nomi sia per la barra che in scala, in scala hai già la script ovvero con il
per metterli tutti sulla stessa linea basta che ci metti un separatore ....(|,/,-,ec...)![]()
per mettere la barra va scritto questo codice ad esempio
e poi per far funzionare la barra basta farecodice:echo ' '; for($charIndex = 65; $charIndex <= 90; $charIndex++) { echo '[ ' . chr($charIndex) . ' ]'; } echo '</p>'; echo ' ';
codice:while($row = mysql_fetch_object($query)) { if ($previousUserNameFirstChar != $row->user_name{0}) { $previousUserNameFirstChar = $row->user_name{0}; echo '<a name="Lettera' . $perviousUserNameFirstChar . '">Utenti che iniziano per ' . $perviousUserNameFirstChar . '</a> '; } echo $row->user_name . ' '; }
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
@daniele_dll: il tuo esempio funziona perfettamente come serve a me.
L'unica cosa, sono i link sulle lettere che non portano da nessuna parte, ma immagino perchè debbano essere configurate a dovere.
"To iterate is human, to recurse, divine." (R.(Heller))