Ausgabe mittels Schleife - Frage zu Formatierung

Hallo,

leider stehe ich schon wieder vor einem Problem. Ich habe (als Beispiel) eine Datenbank mit Adressen. Nun möchte ich auf meiner Internetseite eine Übersicht über alle Nachnamen, welche sich in meiner Datenbank befinden, erstellen. Bisher sieht mein Code so aus:

$abfrage = „select adressen.nachname from adressen group by nachname“;
$ergebnis =$verbindung->query($abfrage);

while($zeile = $ergebnis->fetch_assoc()) {
$url = ‚nachname.php?nachname=‘ . $zeile[‚nachname‘];
echo '’ . $zeile[‚nachname‘] . ’ | ';
}

Als Ergebnis bekomme ich etwa folgende Ausagabe (jeder Nachname ist zugleich ein Link zu allen Datensätzen mit dem jeweiligen Nachnamen):

Amojevic | Amsel | Asti | Berger | Berghammer | Bergschmidt | Cornelli |

Lässt sich diese Ausgabe in PHP so ändern, dass sie wie folgt aussieht?

Amojevic | Amsel | Asti
Berger | Berghammer | Bergschmidt
Cornelli

Ich vermute das letzte Trennzeichen kann mit implode() entfernt werden. Geschafft habe ich es allerdings noch nicht. Ist auch der Umbruch möglich?

Als Ergebnis bekomme ich etwa folgende Ausagabe (jeder
Nachname ist zugleich ein Link zu allen Datensätzen mit dem
jeweiligen Nachnamen):

Amojevic | Amsel | Asti | Berger | Berghammer | Bergschmidt |
Cornelli |

Lässt sich diese Ausgabe in PHP so ändern, dass sie wie folgt
aussieht?

Amojevic | Amsel | Asti
Berger | Berghammer | Bergschmidt
Cornelli

Also Anfangsbuchstabenwechsel gleich neue Reihe

z.b.

$oldssign = „“;
while($zeile = $ergebnis->fetch_assoc()) {
// erstes Zeichen in Grossbuchstabe
$nowsign = strtoupper( substr( $zeile[‚nachname‘] , 0 , 1 ) );
// url link
$url = ‚nachname.php?nachname=‘ . $zeile[‚nachname‘];
// Zeilenumbruch
$breakstr = ‚‘;
// Trennung
$trenner = ‚‘;
// Anfangsbuchstabe hat sich geändert
if ( $nowsign != $oldssign ) {
// wenn nicht erster eintrag
if ( $oldssign != „“ ) {
$breakstr = ’
'; // Zeilenumbruch setzen
}
} else {
// Anfangsbuchstabe ist unverändert
$trenner = ’ | '; // Trennung setzen
}
// aktuellen Anfangsbuchstaben speichern
$oldssign = $nowsign;
// ausgabe
echo $breakstr.$trenner;
echo ‚’ . $zeile[‚nachname‘] . '‘;
}

Funktioniert wie geschmiert, ich bin begeistert! Vielen Dank!