Henryk Plötz: PHP Listenproblem

Beitrag lesen

Moin

ich habe folgendes Problem. In meiner Datenbank gibt es die Einträge Ort, Name, Vorname etc.
Ich möchte in einer Tabelle eine Liste ausgeben, in der nach einer Abfrage nach Ort, Name, Vorname etc. der Ort und auch der Name nur einmal aufgeführt werden, auch wenn sie mehrfach vorkommen.
z.B.:

Aachen Maier Anton
Meier Fred
  Josef
Meyer Ludwig
  Rudolf
Bochum Schmitt Norbert
  Ralf

bei mir sieht das immer so aus:
Aachen Maier Anton
Aachen Meier Fred
Aachen Meier Josef
Aachen Meyer Ludwig
Aachen Meyer Rudolf
Bochum Schmitt Norbert
Bochum Schmitt Ralf

Das sollte nicht soo schwer sein, wenn die Einträge sortiert sind. Gegebenenfalls musst du sie vorher sortieren oder sortieren lassen. In MySQL etwa mit etwas in der Art von ORDER BY Ort, Name, Vorname.

Dann musst du dir nur noch den letzten Wert merken und den aktuellen Wert nur ausgeben wenn er sich vom letzten unterscheidet. In PHP etwa so (Die Details der Datenbankabfrage hab ich mal weggelassen):

$altOrt=$altName=$altVorname="";

while(/*nochDatensätzeda*/)
 // Hole einen Datensatz und speichere Ort, Name und Vorname in den jeweiligen Variablen
 if($altOrt!=$Ort) echo $Ort; else echo " ";
 if($altName!=$Name) echo $Name; else echo " ";
 if($altVorname!=$Vorname) echo $Vorname; else echo " ";
 $altOrt=$Ort; $altName=$Name; $altVorname=$Vorname;
}

H2H
--
Henryk Plötz
Grüße aus Berlin