Update mysql avec jointure sur deux tables.

Fermé
Aurél_ien - 18 juil. 2011 à 17:17
 Aurél_ien - 19 juil. 2011 à 18:44
Bonjour,

J'ai deux tables (administrateur et utilisateur) dans ma base de donnée mysql. J'aimerai pouvoir faire en sorte qu'un utilisateur puisse modifier son mot de passe selon si il est administrateur ou utilisateur sans lui demandé dans quelle tables il se "situe" .

J'ai réussi a faire une vérification de mot de passe sur ces deux tables sans demandé à la personne sans lui demandé si il est utilisateur ou administrateur grâce a la fonction:

$sql = "SELECT password, 1 as admin FROM administrateur WHERE prenom = '$prenom' AND nom = '$nom' UNION ALL SELECT password, 0 FROM utilisateur WHERE prenom = '$prenom' AND nom = '$nom' ;";

J'avais donc pensé a faire pour la modification de mot de passe une fonction update comme-ceci:

$sql = "UPDATE administrateur UNION utilisateur SET password = '$newpassword' WHERE prenom = '$prenom' AND nom = '$nom' AND email = '$email';";

mais cela ne marche pas. J'ai essayé de créer des allias comme avec le select mais cela ne marche pas non plus.

Pouvez-vous m'aidez ? Merci pour vos ®éponse :D.

A voir également:

2 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
18 juil. 2011 à 18:40
Tu dois d'abord faire un SELECT ou alors faire deux UPDATE (un dans la table utilisateur, un autre dans administrateur. Mais ça reste une très mauvaise structure.
0
Oui effectivement j'avais pensé aussi a faire un select puis un update mais par rapport a projet cela n'est point bon, meme si cela marche tres tres bien ^^

Merci :)
0
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
18 juil. 2011 à 19:41
pourquoi ne pas faire plutot 2 table une avec login, pass, email et type(admin ou user) et la seconde avec le reste des données + l'id de la première comme cela tu n'as qu'une table pour la recherche et tu peux faire le tri ensuite sur type admin ou type utilisateur.
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
18 juil. 2011 à 19:46
Imposé pour son projet ...
0
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
18 juil. 2011 à 19:47
ok j'avais pas vue ça
0
Certes cela aurait été beaucoup plus simple mais effectivement je ne dois pas faire la distinction avec un type ( utilisateur ou administrateur) la est toute la difficulté, j'avais pensé a faire un update selon la forme de mon select mais je vois pas la structure ni la maniere de l'écrire enfin quand j'essaye une instruction qui me parait correct cela de ne marche évidement pas ^^ sinon ca serait trop facile x)
0