2010-11-29 30 views
1

Comment puis-je stocker des données de messages dans une base de données afin de pouvoir l'imprimer en tant que nœuds parents dans une liste non ordonnée? Chaque nœud racine peut avoir 2 enfants (profondeur), c'est-à-dire comme grand-père, père, & enfants. par exemple.Faire une hierarchie parent-enfant des enregistrements msg sauvegardés dans mysql?

-vehicle 
    -public 
    -Lorry //Lorry is lost node for root vehicle,   

Les champs actuellement je stocke au sujet d'un msg sont ID (PK), nom, msg, id_msg (unique). Je pense comme si chaque enregistrement pouvait avoir un champ 'parent' qui contiendrait 'msg_id' de l'enregistrement dont il est un enfant. Ensuite, cette information pourrait être utilisée pour récupérer tous les parents & tous les nœuds enfants des parents. Et puis ceux-ci pourraient être imprimés dans une hiérarchie parent-enfant dans une liste non ordonnée.

Répondre

0

Pour chaque noeud (ligne de la base de données), stockez une référence au parent.

Exemple:

| name | id  | parent_id 
------------------------------ 
| vehicle | 1  | null 
| public | 2  | 1 
| Lorry | 3  | 2 

Ceci est l'approche la plus simple et le plus simple.