|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
Bonjour à tous !
J'ai besoin de votre aide pour le codage d'une page : je suis entrain de coder un forum en php et sql, les messages s'enregistrent automatiquement dans une bdd dont les coordonnées se trouvent dans 2 champs numériques (en plus du id): un nommé "famille", qui permet de regrouper tous les messages d'une même conversation : chaque fois qu'on répond à un message, le nombre qui s'inscrit dans le champ "famille" est automatiquement le même que le précédent. L'autre se nomme "no", un numéro unique qui part de 0 pour le message racine de chaque conversation s'enregistre pour spécifier le "niveau" du message. Je souhaiterais créer une page grâce à laquelle on aurait accès à tous les messages sans réponse, avec idéalement une indication sur le nombre de messages trouvés, en tout cas un texte à afficher s'il n'y a aucun message sans réponse, plutôt qu'une page vide. Il faudrait donc prendre tous les DISTINCT(famille) et compter le nombre d'enregistrements dans chacun de ces numéros de famille distincts pour n'en garder que ceux dont le COUNT serait égal à 1. Mais je n'ai aucune idée sur comment créer une telle requête sans croiser tous ces paramètres (WHERE, DISTINCT, COUNT, etc.) n'importe comment. Ainsi, je pourrais prévoir un texte à afficher si le COUNT indique 0: Aucune message sans réponse. Si quelqu'un a une idée, ce serait très sympa. Merci d'avance pour vos réponses ! |
|
|
00
|
|
|
#2 |
![]() ![]() |
Avec COUNT, GROUP BY et HAVING, et un peu de lecture des cours de SQLPro, tu devrais t'en sortir.
Reviens nous voir avec un début de requête.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
Waou ! Merci pour ton lien, il a l'air très très intéressant ! Je vais voir un peu tout ça et je te dis. Le problème est que j'arrivais à un résultat qui me paraissait très absurde : d'abord je cherchais dans le WHERE DISTINCT qui ne veut rien dire, ensuite quelque chose du type
SELECT COUNT(*) AS nombre FROM messages GROUP BY famille HAVING COUNT(*) = 1 mais il me semble pas que ça n'ait forcément plus de sens. Je vais étudier un peu tout ça. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 7 ![]() |
AAAAAAAAH MAIS NOOON !!!
Pardon, je vous ai dérangé pour rien... au fait ma fonction marchait très bien, suis-je bête... j'avais fait une faute dans la récupération des données, du coup je croyais que c'était ma requête qui était trop tordue ! Comme un abruti, j'avais utilisé après le fetch un if ($requête['nombre']=="0"), avec un 0 entre guillemets, sans réfléchir, et le else plus loin où il devait donner le nombre de trouvé, donc du coup il ne m'affichait rien. Voilà voilà. Mais celà dit, merci CinePhil pour ton lien, visiblement ce petit détour n'est pas perdu pour moi vu que j'ai découvert un super site de référence ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com