Aide pour une requete - SQL/NoSQL - Programmation
Marsh Posté le 12-12-2007 à 13:30:24
jointure, voir ce topic ou tout est expliqué: http://forum.hardware.fr/hfr/Progr [...] m#t1495691
Marsh Posté le 12-12-2007 à 13:43:18
J'avais tenté ça :
SELECT count( usr_id ) AS verifexist
FROM utilisateurs, droits
WHERE usr_lgn = 'antoine'
AND usr_pass = 'antoine'
AND (
usr_adm_flg =2
OR (
usr_adm_flg =1
AND droits_user = (
SELECT usr_id
FROM utilisateurs
WHERE usr_lgn = 'antoine' )
AND droits_fil =1
)
)
AND droits.droits_user = utilisateurs.usr_id
mais ça ne marche pas, la requete renvoi invariablement 0 si l'utilisateur à un usr_adm_flg=2
Marsh Posté le 14-12-2007 à 14:01:38
AND droits_user = (
SELECT usr_id
FROM utilisateurs
WHERE usr_lgn = 'antoine' )
=> Vire-ce morceau qui sert à rien et fout la merde.
=> Et préfixe correctement tes champs avec la table d'où ils proviennent, là c'est tout bonnement imbittable.
=> A part le sous-select foireux, je ne vois pas d'autre erreur, mais en réécrivant de façon lisible y'aura peut-être quelque chose qui sautera plus aux yeux.
Marsh Posté le 12-12-2007 à 13:11:26
Bonjour,
J'ai un problème pour une requete que je n'arrive absolument pas à écrire.
Il s'agit en fait d'une requete de vérification de mot de passe et de droits.
Si le login et le mot de passe est bon et si le usr_adm_flg est égal à 2 il passe
sinon si le login et le mot de passe est bon, que le usr_adm_flg est égal à 1 et que l'utilisateur rentré est bien responsable de la filière il passe.
J'ai donc 2 tables :
Une table utilisateur :
usr_id usr_lgn usr_pass usr_form_flg usr_adm_flg
1 test test 1 1
2 guillaum guilaum 0 0
3 antoine antoine 1 2
4 Fatih fatih 0 1
Une table droits :
droits_id droits_user droits_fil
1 1 1
2 4 2
Le résultat de la requete doit renvoyer 1 si la connexion est valide, 0 sinon
Mon but est que après avoir entré le mot de passe et le login ainsi que le nom de la filière à éditer (mais je renvoi le numéro) je puisse faire cette vérification. Comment faire ?
Merci
Message édité par antac le 12-12-2007 à 13:27:56