Codice PHP:
foreach ( range('A', 'Z') as $letter ) {
$voci_glossario = mysql_query("SELECT riferimento,descrizione FROM glossario WHERE riferimento LIKE '$letter%' ORDER BY riferimento ASC ");
if(mysql_num_rows($voci_glossario)){
$links[] = "<a href=\"http://www.atuttascienza.altervista.org/glossario.php#$letter\">$letter</a>";
}
else{
$links[]= $letter;
}
$link_alfabeto = implode(' - ', $links);
}
foreach ( range('A', 'Z') as $letter ) {
$voci_glossario = mysql_query("SELECT riferimento,descrizione FROM glossario WHERE riferimento LIKE '$letter%' ORDER BY riferimento ASC ");
if(mysql_num_rows($voci_glossario)){
//link alfabeto
echo "<div class=\"cont1\">";
echo "$link_alfabeto";
echo "</div>";
//sviluppo voci glossario per lettera
echo "<div class=\"cont2\">";
echo "<a name=\"$letter\"></a>
<h1>$letter</h1>";
while($word_glossario=mysql_fetch_array($voci_glossario)){
$riferimento=$word_glossario['riferimento'];
$riferimento= ucfirst($riferimento);
$descrizione=$word_glossario['descrizione'];
echo "<a name=\"$riferimento\">
</a>[b]$riferimento:[/b]
$descrizione
";
}
echo "</div>";
}
}
questo è il codice..
mi sviluppa un glossario con l'indice delle definizioni per ogni lettera.
es
A
albero
agnello
ecc
B
bello
brutto
ecc ecc
tra una lettera e l'altra inserisco un alfabeto. in questo alfabeto vengon linkate le lettere se sono presenti definizioni altrimenti no.
il codice funziona perfettamente scritto cosi solo volevo sapere se è necessario ripetere il foreach e la query. ho dovuto farlo perchè altrimenti l'implode non mi crea tutto l'alfabeto
ma per ogni lettera crea l'alfabeto dall a fino alla lettera considerata
se considero la c, l'alfabeto che viene scritto è A B C e non dalla a alla z