|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
Bonjour à tous,
voilà, j'en appelle à vos lumières pour m'aider sur une requete sql, parce que la je sèche. En gros j'ai un système de gestion d'articles avec 2 tables : - l'une avec les articles et plusieurs champs dont un "statut" (à 1 pour validé, 0 pour non validé) et id_membre - une autre avec les votes, plusieurs champs ont l'id membre du vote et l'id de l'article le concept est que pour etre publié un article doit avoir une moyenne de 5/10 sur 3 votes de membres. Tout se met à jour parfaitement via le script php, mais j'ai un problème pour personnaliser la liste des articles non évalués par membre. En fait je voudrais pouvoir lister les articles en attente de validation pour lequel le membre n'est pas l'auteur et n'a pas encore voté. (c'est la partie soulignée qui cloche) voici la requête que je fais: Code :
merci d'avance à ceux qui pourront m'aider! |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Il faut utiliser dans le WHERE un "AND NOT(EXIST(SELECT ...))"
__________________
Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/ |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Damien AttanasioDéveloppeur informatique Inscription : février 2007 Messages : 340 ![]() |
Je n'ai pas trop bien compris ton problème.
il faut que votes.uid soit différent de $uid, c'est ça ? |
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
Merci pour vos réponses!
en fait que je procède de cette façon il prend en compte l'intégralité des articles non-validés, je n'arrive pas à soustraires ceux pour lesquels un membre n'a pas voté :/ edit pour madevilts> Oui mais pas exactement, et c'est pour celà que ma requete ne foncionne pas. En gros pour simplifier imagine qu'il ya 10 articles en attente de validation dans la base. le membre A en a déjà validé 5 en votant, donc je voudrais faire la requete qui puisse afficher les 5 restant qu'il lui reste à valider. Donc je fais une 1ere requete pour trouver les articles en attente de validation et dont le membre n'est pas l'auteur. Et dans ma 2ème requete je voudrais enlever de la liste les articles déjà validés mais ça coin.... à mon avis c'est la méthodoligie qui est foireuse . merci |
|
|
00
|
|
|
#5 | ||
|
Membre éclairé
![]() Damien AttanasioDéveloppeur informatique Inscription : février 2007 Messages : 340 ![]() |
Alors je pense qu'il te faut faire la liste des article qui ne sont ni voté ni créé donc je pense que ça doit etre :
Code :
|
||
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
merci mais ta requete ne retourne aucun résultat.. :/
je ne comprend pas là. |
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Damien AttanasioDéveloppeur informatique Inscription : février 2007 Messages : 340 ![]() |
C'est fort possible.
Commence par faire Code :
|
||
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
ok, ca y est, ca me donne le total des enregistrements d'articles (valides ou non)
ensuite si je rajoute la ligne suivante, j'obtient la liste des articles (valides ou nons) dont le membre n'est pas l'auteur Par contre sit je rajoute le AND qui suit la requete me liste les articles que le membre a voté... le soucis provient de là |
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Damien AttanasioDéveloppeur informatique Inscription : février 2007 Messages : 340 ![]() |
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
merci!
ca me produit le même résultat que ma requete d'origine, à savoir: Liste de tous les articles en attente de validation (non postés par membre) - articles pour lesquels un vote a été enregistré (peu importe le membre) En gros si j'ai 100 articles en attente, que le membre A a voté 5 fois, le membre B 5 fois et le membre C 0 fois j'aurais pour tous les membres 90 articles en attente (100 -(5+5))... au lieu de 95 pour les membres A & B et 100 pour le membre C |
|
|
00
|
|
|
#11 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Si j'ai bien compris (mais c'est loin d'être sûr), ton problème est d'exclure les votes du membre $uid ?
Dans ce cas, il faudrait mettre la condition <> $uid dans le LEFT JOIN : Code :
|
||
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : avril 2007 Messages : 51 ![]() |
Eureka!! Merci Antoun c'est ça!
Ce sont mes conditions de jointure qui étaient mauvaises en fait, et je n'aurais jamais pensé à ça, merci beaucoup! Par contre j'ai changé un petit détail pour que ça fonctionne: en Encore merci à toi, madevilts et alain pour votre aide!
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com