hi
nicht ganz. aus Zeitgründen benutze ich jetzt keinen funktionierenden code sondern lediglich einen ungefähren Abriß..
annahme ist, daß wir erst beim Auslesen der DB sind und der Nachname in einer eigenen Spalte steht.
while(datenbankabfrage)
{
// wenn anfangsbuchstabe des neuen namens nicht mit anfangsbuchstaben des vorhergehenden namens übereinstimmt
if (substr($nameausdb, 0,1) != substr($vorhergehendername, 0, 1))
{
// dann baue erstmal den anfangsbuchstaben - hier als großbuchstaben - ein
echo "strtoupper(substr($nameausdb, 0, 1))";
}
echo $nameausdb;
$vorhergehendername = $nameausdb;
}
müßte so ähnlich - natürlich mit richtiger Syntax und allem möglichn html-gedöns und so - richtig funktionieren...
nur so falls du dir 26 Zeilen oder mehr an Schreibarbeit sparen willst und bei eventuellen Änderungen nicht so viel Arbeit hast...
meinst du etwa so
<?
$ABC= array('A','B','C'...);
for ($i=0; $i<27; $i++) echo "<a href='#a".$i."'><b>".$ABC[$i]."</b></a>";
<?
"gesamtanzahl der datensätze auslesen"
$i=0; $ABC_z=0;
while ($i<$anzahl_datensaetze) {
$nachname= "den datensatz an position $i auslesen";
$zeichen = split ("", $nachname);
if ($i==0 || $ABC[$ABC_z-1]!=$zeichen) {
echo "<a name='a".$ABC_z."'>".$ABC[$ABC_z]."</a><br>";
$ABC_z++;
}
echo $nachname."<br>";
$i++;
}
?>
aber auch hier bin ich mir nich sicher, is halt nur nen ansatz ;o)
mexchen