Structure de tableau pour les menus de mySQL
-
13-09-2019 - |
Question
J'ai besoin des conseils pour une structure de table.
J'ai besoin pour créer des menus dynamiquement.
Il y aura plus de 3 menus.
Certains menus ont des structures à plusieurs niveaux.
Quelle est la meilleure façon de strucure les tables de menu?
- Tous les menus sont dans une table
- Chaque table doit avoir une table
- Toute autre ??
S'il vous plaît donnez-moi votre expérience ou pratiques communes pour les menus générés dynamiquement s'il vous plaît.
La solution
en supposant que votre arbre de menu est pas très grande, la liste de contiguïté soi-disant serait l'option la plus simple
id
parent_id
title
other fields
pour les menus de niveau supérieur parent_id = 0
voir Gestion des données hiérarchiques dans MySQL pour discussion et d'autres Options
Autres conseils
Vous pouvez utiliser une structure comme ceci:
nom de la table: Menu id - clé primaire menu_id - référence à l'élément de menu parent titre - titre du menu (Toutes les autres données dont vous avez besoin)
De cette façon vous pouvez avoir des niveaux illimités ... Bien sûr, cela est hors pas la seule façon ...
L'utilisation parent_id devrait être suffisant pour la plupart des structures, si vous êtes coincé sur la performance (en ce qui concerne la récursivité profonde), vous devriez également la recherche modifié précommande arbre Traversal .
ce sera utile, peuplant Dynamiquement éléments de menu à partir de la base de données dans ASP.NET