Jointure SQL

Résolu
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -  
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'ai jamais fait des jointures SQL, comme je débute, malheureusement je n'arrive pas à comprendre les infos que j'ai trouvé sur le net.
Pouvez-vous me guider un peu je vous remercie de tout coeur.
Je vous donne mes 3 tables.
Je voudrais pouvoir INSERT dans la table "utilisateur_vetement" que ça enregistre l'id de l'utilisateur correspondant au id de la table vetement.
Merci

CREATE TABLE IF NOT EXISTS 'utilisateur' (
  'id_utilisateur' int(11) NOT NULL AUTO_INCREMENT,
  'nom_utilisateur' varchar(50) NOT NULL,
  'prenom_utilisateur' varchar(50) NOT NULL,
  PRIMARY KEY ('id_utilisateur')
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=302 ;


CREATE TABLE IF NOT EXISTS 'vetement' (
  'id_vetement' int(11) NOT NULL AUTO_INCREMENT,
  'nom_vetement' varchar(50) NOT NULL,
  PRIMARY KEY ('id_vetement')
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

--
-- Contenu de la table 'vetement'
--

INSERT INTO 'vetement' ('id_vetement', 'nom_vetement') VALUES
(1, 'Veste'),
(2, 'Pantalon'),
(3, 'Jupe'),
(4, 'Polo'),
(5, 'Cravate'),
(6, 'Ceinture');


CREATE TABLE IF NOT EXISTS 'utilisateur_vetement' (
  'fk_id_utilisateur' int(11) NOT NULL,
  'fk_id_vetement' int(11) NOT NULL,
  KEY 'utilisateur_vetement' ('fk_id_utilisateur')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

A voir également:

6 réponses

chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Tu peux essayer de faire quelque chose comme :

INSERT INTO 'utilisateur_vetement' ('fk_id_utilisateur', 'fk_id_vetement') VALUES (
(SELECT 'id_utilisateur' FROM 'utilisateur' WHERE nom_utilisateur = "test" AND prenom_utilisateur = "icules"),
(SELECT 'id_vetement' FROM 'vetement' WHERE nom_vetement = "Veste"))


A condition que l'utilisateur existe deja..
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Merci de votre aide.
J'ai essayé mais ça ne marche pas, en fait il faudrait que dans ma BDD j'ai,
Mes 2 colonnes avec l'id de l'utilisateur qui est déjà dans la BDD et l'id du vetement correspondant.

fk_id_utilisateur  fk_id_vetement

1                          2
4                          5
etc...                    etc...

Et pour l'affichage j'ai les chekbox avec les 6 noms de vetement.
<input name="user_vetement" id="vetement" type="checkbox" value="true" <?php echo (@$rows->jupe_vetement) ? " checked":"";?>/></td>

Merci
0
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Salut,

Il faudrait en fait plus d'info sur ton formulaire car je ne comprends pas bien.

Tu as un formulaire qui comprend des checkbox contenant la liste des vetements de la base d'accord.

Ensuite ? L'utilisateur tu le connais comment ? Il existe dans la base ok mais tu le recuperes comment ? C'est celui qui coche ses propres vetements ? Ou ton formulaire permet d'attribuer des vetements a tous les users de la base ou a un seul user specifique ?

Need light !
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

En fait c'est moi qui attribut les vetements des membres déjà dans ma BDD via un formulaire contenant les checkbox.

Les membres je les ai déjà enregistré auparavant.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
A.Nonymous
 
DELETE 'utilisateur_vetement'.* FROM 'utilisateur_vetement' WHERE 'fk_id_utilisateur' = 1;

INSERT INTO 'utilisateur_vetement'
( fk_id_utilisateur, fk_id_vetement )
SELECT utilisateur.id, vetement.id FROM utilisateur, vetement
WHERE utilisateur.id = 1 AND vetement.id IN ( 3,5,6 );
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Avec quelques jours de retard je te remercie pour ton aide ça fonctionne nickel.
Merci encore
0