Bonjour,
1/ je te conseille d'utiliser des noms de champs plus spécifiques et explicites :
tu as "id" dans les 2 tables = source de futures confusions !
tu pourrais mettre id_user et id_sujet à la place.
Idem pour les noms des tables :
- T_USERS ou T_UTILISATEURS ou T_PARTICIPANTS
- T_EVENTS ou T_EVENEMENTS ou T_COURSES
2/ Si UN SEUL user crée UN ou PLUSIEURS "sujet", on a une relation "one to many" :
il suffit alors juste d'avoir dans la table "sujet" :
1 2 3
| id_sujet int(11) primary auto-incrément
id_user int(11)
.... |
De fait, lors de la création d'un sujet, on insert en même temps l'id_user de son créateur.
Pour afficher la liste des sujets de CET user :
"SELECT .... WHERE id_user = ".$id_user." ";
On peut aussi mette l'id_user en SESSION au moment de sa connexion.
On aura alors :
"SELECT .... WHERE id_user = ".$SESSION['id_user']." ";
3/ dans un autre cas de figure, par exemple "les participants à une course" :
Là on aurait PLUSIEURS participants à UNE ou PLUSIEURS courses ; on a une relation "many to many"
dans ce cas, on fait appel à une TABLE RELATIONNELLE, dans laquelle on relie 1 user à 1 course.
exemple :
1 2 3 4
| TABLE "T_EVENT_USER_LINK"
id_event_user int(11) primary auto-incrément (=> pas nécessairement utile ici !)
id_event int(11)
id_user int(11) |
On peut ajouter des champs en rapport avec cette RELATION.
Exemple :
1 2 3 4 5
| date d'inscription (à cette course)
numéro de dossart
classement (à cette course)
temps réalisé
... |
Partager