Foreach ligne d'affichage des colonnes

J'ai un assez standard de base de données comme:

id | name | last_name                | gender 
-----------------------------------------------
1  | John | Doe                      | Male
2  | Jane | Smith Dolores Clayborne  | Female
3  | Paul | Paulson                  | Male

et je veux l'afficher dans un tableau, mais toutes les lignes de la DB doit être une colonne dans le tableau HTML:

id        | 1         | 2         | 3      
---------------------------------------------
name      | John      | Jane      | Paul
---------------------------------------------
last_name | Doe       | Smith     | Paulson
          |           | Dolores   |
          |           | Clayborne |
---------------------------------------------
gender    | Male      | Female    | Male 

Si je pars avec:

foreach($data as $row) {
echo "<tr><td>" . $row->id . "</td></tr>";
echo "<tr><td>" . $row->name . "</td></tr>";
echo "<tr><td>" . $row->last_name . "</td></tr>";
echo "<tr><td>" . $row->gender . "</td></tr>";
}

Je reçois toutes les données dans une longue colonne. Comment puis-je briser la colonne après chaque ligne de SQL?

Remarque: $data est un tableau d'objets qui contiennent des propriétés avec les valeurs de champ (vous pouvez probablement comprendre cela à partir de l'exemple).

EDIT:

J'ai trouvé la solution, voir ma réponse, c'est simple et élégant.

InformationsquelleAutor Viktor | 2012-01-18