2011-06-01 6 views
1

Dans mon projet actuel en PHP et MySQL, j'ai une base de données d'utilisateur et une base de données de projets. Je veux pouvoir assigner des projets aux utilisateurs afin qu'ils n'aient accès qu'à ceux qu'ils ont rejoints (par quelque moyen que ce soit). Existe-t-il un moyen plus efficace de le faire autrement que d'avoir une sorte de tableau dans un champ d'un utilisateur?PHP/MySQL - pages spécifiques pour des utilisateurs spécifiques

Répondre

4

Créez une table avec deux clés étrangères: l'une pointant vers la clé primaire de la table utilisateur et l'autre pointant vers la clé primaire de la table de projet. C'est la façon standard d'implémenter ce qu'on appelle m: n-relations (un utilisateur peut avoir plusieurs projets et un projet consiste en plusieurs utilisateurs) dans des bases de données relationnelles. Lire sur database normalization pour des raisons pourquoi.

+0

Merci pour votre réponse. Est-ce que les clés étrangères doivent être appelées quelque chose de spécifique ou sont-elles simplement des nombres? – Sebastian

+0

En outre, je vais ajouter une sorte de shoutbox et divers autres contenus dynamiques sur chaque page du projet - où est le meilleur endroit pour stocker tout cela? – Sebastian

+0

Le type et le nom des clés étrangères sont à vous, mais ils doivent avoir le même type que la clé primaire à laquelle ils se réfèrent et doivent être nommés de telle sorte qu'il soit clair pour le lecteur à quelle clé primaire ils se réfèrent. – Oswald

Questions connexes