2010-05-04 20 views
0

Je suis un novice en matière de développement et de logistique.Gestion des utilisateurs: Gestion des utilisateurs dans des "groupes" définis par l'utilisateur, schéma de base de données et logistique

Je développe un site qui permet aux gens de prendre un test ...

Mon client souhaite que la possibilité pour un utilisateur avec le rouleau/privledge « admin » (un pas en dessous d'un super-admin) pour être autorisé à créer des utilisateurs et à voir/éditer uniquement les utilisateurs qu'ils créent ...

Les utilisateurs créés dans cette "catégorie" ou groupe ont besoin de certaines informations fournies par leur supérieur. Par exemple, je me connecte en tant que «manager», j'ai la possibilité d'inviter des personnes à passer le test et de gérer ces personnes. Avant d'ajouter ces personnes, j'aurai rempli un court sondage sur moi-même ...

À l'heure actuelle, les mêmes questions que le gestionnaire seront posées aux utilisateurs invités. Je voudrais réduire la redondance en utilisant les informations mises dans la base de données par le gestionnaire et l'appliquer aux utilisateurs invités.

Comment configurer ma base de données pour utiliser ce critère? Je suis un peu confus sur la façon de faire cela! Permettez-moi de savoir si je peux ajouter plus de détails ...

(Ceci est une application php et mysql)

Répondre

0

Je suis sûr qu'il ya plusieurs façons de le faire, mais ici est celui qui vient à l'esprit.

Dans la base de données "users", je suis sûr que vous avez une colonne pour spécifier quel gestionnaire est assigné à l'utilisateur par un type de clé utilisateur. Eh bien, si ce champ a une valeur, puis tirez les informations de cet enregistrement utilisateurs (utilisateur gestionnaire).

Exemple:

table 'utilisateurs'
touche ---- ------ Nom ManagerID ----- ------ questionone ---- questiontwo
1- ------ randy ----- 0 ------------------ californie ---------- C++ ------- -------
2 ------- bob -------- 1 ------------------ nevada ---- --------------------------

Depuis l'enregistrement (clé) 1 a managerid == 0, puis utilisez questiontwo record pour répondre "Question 2 ". Étant donné que l'enregistrement (clé) 2 a managerid == 1, alors tirez la question à partir de l'enregistrement (clé) 1 et utilisez-la pour répondre à la question deux. Vous pouvez soit insérer cette information dans l'enregistrement, soit l'utiliser de manière dynamique dans l'enregistrement du gestionnaire, car l'espace est toujours utilisé dans la base de données, ce qui serait utile car les données du gestionnaire pourraient être mises à jour et vous ne le souhaiteriez peut-être pas. avoir à mettre à jour tous les enregistrements avec ce partage le gestionnaire wheh info est changé.

Avez-vous du sens?

+0

Permettez-moi que je comprends: Fondamentalement, chaque utilisateur dispose d'un « id manager », ou un identifiant qui identifie qui les a créés? En faisant cela, je peux limiter ce que les gestionnaires peuvent voir/ne pas voir, et tirer les bonnes questions pour les utilisateurs qui ont des identifiants de gestionnaire correspondant? C'est bon! –

Questions connexes