Petit problème PHP/SQL
Résolu
Umbriel
Messages postés
53
Statut
Membre
-
Umbriel Messages postés 53 Statut Membre -
Umbriel Messages postés 53 Statut Membre -
Bonjour,
J'ai un petit problème de liaison
J'aimerais que mes membres puisse enregistrer les livres qu'ils possèdent.
J'ai 2 tables SQL.
Machin à les livres 1, 3 et 4
Truc à les livres 2, 3 et 5
Comme vous pouvez le voir, les 2 membres ont le livre Le Petit Chaperon Rouge,
Comment faire pour que les 2 membres pointent sur ce même livre ?
J'ai trouvé que 1 piste pour l'instant, c'est mettre un champ à la table membre 'livre qu'il possède'
ou pour l'enregistrement d'id 1 aurait la valeur '1,3,4'
pour l'enregistrement d'id 2, il aurait la valeur '2,3,5'
puis utiliser un explode dans mon php
Mais cela me semble tout de même compliqué à mettre en place et si le membre veut supprimer un livre qu'il possède.
Auriez-vous une petit idée de comment je devrais procéder ?
J'ai un petit problème de liaison
J'aimerais que mes membres puisse enregistrer les livres qu'ils possèdent.
J'ai 2 tables SQL.
Table membre : id - pseudo - email - date_inscr - pwd 1 - Machin - a@a.fr - 00-00-0000 - ****** 2 - Truc - a@a.fr - 00-00-0000 - ******
Table livre id - titre - auteur - éditeur 1 - Farenheit 451 - bidule - trucmuche 2 - L'assomoir - bidule - trucmuche 3 - Le Petit Chaperon Rouge - bidule - trucmuche 4 - L'oeil du loup - bidule - trucmuche 5 - Tintin, le sceptre d'Otockar - bidule - trucmuche
Machin à les livres 1, 3 et 4
Truc à les livres 2, 3 et 5
Comme vous pouvez le voir, les 2 membres ont le livre Le Petit Chaperon Rouge,
Comment faire pour que les 2 membres pointent sur ce même livre ?
J'ai trouvé que 1 piste pour l'instant, c'est mettre un champ à la table membre 'livre qu'il possède'
ou pour l'enregistrement d'id 1 aurait la valeur '1,3,4'
pour l'enregistrement d'id 2, il aurait la valeur '2,3,5'
puis utiliser un explode dans mon php
Mais cela me semble tout de même compliqué à mettre en place et si le membre veut supprimer un livre qu'il possède.
Auriez-vous une petit idée de comment je devrais procéder ?
4 réponses
-
créer une table avoir avec en clé primaire
id membre & id livre et rajoute des champs comme tu l'entend -
Créer une table lien
id_membre&id_livre
Je ne me rappel plus comment ça s'appelle et non plus comment les gérer par la suite. -
Je suis d'accord avec les deux réponses du dessus. Il faut que tu crées une table qui va lier tes deux tables actuelles. Dans ta nouvelle table , tu mets leur clé en clé étrangère sur tes deux tables.
=>
Table membre :
id - pseudo - email - date_inscr - pwd
1 - Machin - a@a.fr - 00-00-0000 - ******
2 - Truc - a@a.fr - 00-00-0000 - ******
Table de Lien :
Id_membre => Clé primaire + clé étrangere sur membre.id
Id_livre => Clé Primaire + clé étrangere sur livre.id
Table livre
id - titre - auteur - éditeur
1 - Farenheit 451 - bidule - trucmuche
2 - L'assomoir - bidule - trucmuche
3 - Le Petit Chaperon Rouge - bidule - trucmuche
4 - L'oeil du loup - bidule - trucmuche
5 - Tintin, le sceptre d'Otockar - bidule - trucmuche
Apres, c'est ce que je pense, il se peut que sa soit faux. Bonne journée -
Comme enregistrements dans ma table lien, j'aurait :
1 - 1
1 - 3
1 - 4
2 - 2
2 - 3
2 - 5
???
Si j'ai 200 membres qui ont chacun 10 livres au hasard ça ne posera pas de problème ?-
Non, ce ne sont que des liens, après dans ta requète tu peux par exemple mettre :
Select membre.pseudo, livre.titre from membre inner join lien on membre.id = lien.Id_membre inner join livre on lien.Id_livre = livre.id where membre.id = 2;
Si je me suis pas trompé, sa devrait t'afficher tous les livres que le membre d'id 2 a. Tu peux biensur mettre ce que tu veux dans le Select et le Where ^^ -
-