Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1557 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Requête pour gestion d'un forum

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Requête pour gestion d'un forum

n°1301875
zwarg
Posté le 09-02-2006 à 10:55:16  profilanswer
 

Bonjour,
 
je suis en train de créer un forum en PHP, et j'ai la nécessité d'utiliser une requête pour extraire diverses informations de ma BDD.
 
Voici dejà la structure de ma table 'forum' (je vous passe les informations inutiles dans cette question):
 
*************
int id; (clef primaire, en auto_increment)
int id_rep;
text titre;
text message;
...
int id_auteur; (linké avec une table users pour récuperer le nom
*************
 
Actuellement, j'ai fait une requête permettant d'extraire simplement des infos comme l'id, le nom de l'auteur... etc:
> SELECT forum.titre, forum.date, forum.id, users.nom FROM forum INNER JOIN users ON forum.id_auteur = users.id;
 
Cependant j'aurai besoin d'une autre information: le nombre de réponses associées à un sujet.
Je m'explique: dans la table forum, le champ id_rep est égal à 0 si l'entrée est un sujet, sinon il contient l'id du sujet auquel il se rapporte.
Exemple:
id | titre | id_rep
1     A        0
2     B        1
3     C        0
4     D        3
5     E        3
 
-> signifie qu'il y a 2 sujets (A et C), avec A possédant 1 reponse et C possédant 2 réponses.
 
Donc voici ma question: que dois-je rajouter dans ma requete afin d'avoir le nombre de reponses (COUNT) pour chacun des sujets ?
exemple:
id | titre | COUNT(id_rep)
1     A        1
3     C        2
 

mood
Publicité
Posté le 09-02-2006 à 10:55:16  profilanswer
 

n°1301891
shreck
Posté le 09-02-2006 à 11:11:25  profilanswer
 

slt
essaie un truc du genre :
 
select count(id_rep),*  
from table
group by titre ;
 
 
tu me tiens au courant..

n°1301904
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-02-2006 à 11:27:28  profilanswer
 

Si j'ai tout compris à la structure de ta table:

Code :
  1. SELECT
  2. forum.titre,
  3. forum.date,
  4. forum.id,
  5. users.nom,
  6. count(reponse.id_rep)
  7. FROM
  8.  forum
  9. INNER JOIN  users ON forum.id_auteur = users.id
  10. LEFT OUTER JOIN forum as reponse on ( forum.id = reponse.id_rep)
  11. GROUP BY
  12. forum.titre,
  13. forum.date,
  14. forum.id,
  15. users.nom,
  16. ;


 
 

shreck a écrit :

slt
essaie un truc du genre :
select count(id_rep),* from table group by titre ;
tu me tiens au courant..


 [:pingouino]  

n°1301919
zwarg
Posté le 09-02-2006 à 11:39:53  profilanswer
 

euh... merci shreck. Mais c'est pas trop ça :)

n°1301923
zwarg
Posté le 09-02-2006 à 11:44:06  profilanswer
 

Merci anapajari,
 
j'ai testé ta requête sous access, et il me met:
erreur de syntaxe (opérateur absent) dans l'expression 'forum.id_auteur = users.id LEFT OUTER JOIN  forum as reponse on (forum.id = reponse.id_rep)'.
 
jvais encore faire des recherches de mon côté (sur ta requête entre autre)

n°1302457
zwarg
Posté le 09-02-2006 à 20:25:44  profilanswer
 

re Merci anapajari !!!!
en fait, la requete voulait pas s'executer sous access. Mais dans du PHP avec mysql, ca passe nickel !
 
Merci encore pour ta réponse ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Requête pour gestion d'un forum

 

Sujets relatifs
Access 97 vers 2000, transformation requête[SQL - postgreSQL] Recherche sur des dates
Connexion à SQL Server[Sql] Besoin d'aide pour une requête ( simple pourtant ... ) [résolu]
[SGBD] Algo d'une requêteEquivalent de plusieurs COUNT(x WHERE y = z) dans une requête ?
[SGBD/SQL] Existe-t-il une API C qui gererait plusieurs SGBD ?aide pour formuler une requete sql-ça y est presque!!-
Création base de donnée SQL server 2000 SP3 
Plus de sujets relatifs à : [SQL] Requête pour gestion d'un forum


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR