[RESOLU] Insérer une clé étrangère dans une nouvelle entrée

Petit nouveau ! | 4 Messages

16 févr. 2015, 21:53

Bonjour,

Je requière votre aide pour un problème auquel mon cher ami Google n'arrive pas à m'aiguiller vers un lien susceptible de m'aider. Peut-être est-ce du PHP/MySQL avancé mais dans tout les cas je suis encore un débutant :)

Mon problème: J'aimerais insérer la valeur de la clé étrangère de l'utilisateur actif et la valeur de certains boutons de ma page dans un enregistrement d'une autre table. Voici mon code, se serait surement plus parlant:
$sql = 'INSERT INTO style VALUES("", "'.mysql_real_escape_string($_POST['nomstyle']).'", id_users,id_chaussure,id_chapeau,id_ceinture,id_tshirt,id_pantalon)';
Il faudrait donc que quand j'ajoute id_users, par exemple, ce dernier insère l'id_users (clé étrangère) de l'utilisateur actif (qui figure dans la table users). Dois-je stocker les valeurs des clés étrangères dans une variable?

Je suis à cours d'idée et c'est pour un projet scolaire pour lequelle il ne me reste plus beaucoup de temps malheureusement #-o

Merci d'avance pour votre aide et si vous avez besoin de précision n'hésiter pas à me le faire savoir :D

Mammouth du PHP | 688 Messages

16 févr. 2015, 21:56

il faut bien mettre l'id_user dans une variable et construire la requete avec cette variable, comme pour le second champ de la requete insert.

Petit nouveau ! | 4 Messages

16 févr. 2015, 22:08

Ok, merci beaucoup pour cette réponse rapide! :)

Je vais essayer 2-3 choses en partant de cette idée du coup.

Petit nouveau ! | 4 Messages

16 févr. 2015, 22:35

J'ai fait plusieurs essai à l'instant, rien de très fructueux mais j'ai tout de même l'impression de toucher au but!

J'ai donc fait comme conseillé toutefois ma requête récupère le contenu de ma variable $idusers comme une chaîne de caractère et non le résultat de ma requête ce qui me génère l'erreur suivante: Erreur SQL !INSERT INTO style VALUES("", "hip", "SELECT id_users FROM users WHERE login=\"seb\"",1,1,1,1,1)

Et mon code:
$sql = 'SELECT * FROM style WHERE nom="'.mysql_real_escape_string($_POST['nomstyle']).'"';
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data = mysql_fetch_array($req);

        $idusers = 'SELECT id_users FROM users WHERE login="'.$log.'"'; // la variable en question

        if ($data[0] == 0) {
            $sql = 'INSERT INTO style VALUES("", "'.mysql_real_escape_string($_POST['nomstyle']).'", "'.mysql_real_escape_string($idusers).'",1,1,1,1,1)';
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

            exit();
        }
Que devrais-je changer? #-o