Originariamente inviato da maclover
Carissimi.
Sto cercando di creare un lista di dati in ordine alfabetico presi da un DB Mysql.
In questa normalissima lista vorrei integrare dei GIF l'inizio di ogni lettera. Per esempio:
viene stampata "A" per Abaco, Amare ecc.. "B" per Babbione, Bravo ecc..
Ho provato a fare ciò con la funzione in oggetto così:
$stringa = $row_rslista['anagrafica_nomi'];
$lettera = "E";
print (strstr($stringa, $lettera));
Fin qui tutto apposto. Mi cerca effettivamente la prima lettera e mi stampa la parola.
Il problema è che quando cerco di creare un do { } while per listare tutto il DB, mi stampa solo il primo record che trova.
Chi mi aiuta ?
scusa ma perche ti complichi la vita??
codice:
$result = mysql_query('SELECT * FROM tabella ORDER BY campo_tabella ASC');
$lettera_old = '';
while ($parole = mysql_fetch_array()){
$lettera = substr($parole['campo_tabella'],0,1);
if ($lettera == $lettera_old) {
echo "{$parole['campo_tabella']}
\n"; }
else {
echo "{$lettera}\n
\n{$parole['campo_tabella']}
\n"; }
}
$lettera_old = $lettera;
}
dovrebbe funzicare
oppure se devi fare tipo rubrica telefonica selezionando solo per lettera nella query puoi usare la funzione LEFT di mysql
Ciao