Afficher le nb d'enregistrement selon des catégories

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 11:56

Bonjour !

Je cherche à afficher quelque chose de ce genre :
catégorie 1 [x entrées]
catégorie 2 [x entrées]
catégorie 3 [x entrées]
...etc

Comment afficher les x entrées pour chaque catégorie sans faire une requête pour chacune ?

Merci !

Mammouth du PHP | 568 Messages

08 mars 2006, 11:59

Bin ça dépend de ta base de données :wink:

Mais à priori, c'est qqc du genre :
SELECT COUNT(entree)
FROM ...
GROUP BY categorie
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:00

Dans ma base j'ai une table unique qui réunit les catégories en question.
ID
CAT
CONTENU

Mammouth du PHP | 568 Messages

08 mars 2006, 12:02

Et les entrées, c'est quoi ?
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:09

Qu'entends-tu par entrées ? En fait je vais re-expliquer :

J'ai des catégories et sous catégories
CAT1
-ss cat 1 [x entrées]
-ss cat 2 [x entrées]
-ss cat 3 [x entrées]

CAT2
-ss cat 1 [x entrées]
-ss cat 2 [x entrées]
-ss cat 3 [x entrées]

Ma table :
id
cat
sscat
contenu

Pour le moment je fait pour chaque affichage quelque chose de ce genre :

Code : Tout sélectionner

$rqt=mysql_query("SELECT * FROM xxx WHERE cat=1 AND sscat=1"); $nombreligne=mysql_num_rows($rqt);
Et c'est donc pour éviter de faire X requêtes.

Mammouth du PHP | 568 Messages

08 mars 2006, 12:20

Et bin si tu fais
SELECT cat, sscat, COUNT(id)
FROM xxx
GROUP BY cat, sscat

ça devrais passer
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:24

Oki mais devant les CAT1 [x entrées] que dois-je afficher...?

Je ne peux pas mettre $nombreligne devant chaque ligne étant donnée que les sscat sont affichées en dur...

Mammouth du PHP | 568 Messages

08 mars 2006, 12:30

La requete que j'ai écrite devrais donner ça comme résultat

cat1 ; sscat1 ; x
cat1 ; sscat2 ; y
cat2 ; sscat1 ; z
cat2 ; sscat2 ; a
cat2 ; sscat3 ; b
etc...

Donc plus besoin de faire de mysql_num_rows... juste un while pour parcourir les résultats de la requête... Et les affichages, bin suivant ce que tu veux ;)
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:36

Voui je vois ce que tu veux dire :lol: Mais je ne saisis toujours pas.

En fait le :
CAT 1
ss cat1
ss cat2

CAT2
ss cat1
ss cat2

est un page en "dure". Je ne parcours pas la base pour afficher les catégories et sous catégories...c'est là mon souci. Donc pour mettre les X entrées, je suis obligé d'en mettre un au niveau de chaque ss cat...et du coup ta requête ne fonctionnera pas...ou bien j'ai pas tout compris lol :roll:

Mammouth du PHP | 568 Messages

08 mars 2006, 12:40

En fait le :
CAT 1
ss cat1
ss cat2

CAT2
ss cat1
ss cat2

est un page en "dure". Je ne parcours pas la base pour afficher les catégories et sous catégories...c'est là mon souci.
Bin rend ta page dynamique :lol:
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:43

Ouep il ne me reste plus que ça à faire lol

En fait je pensais pas avoir autant de changement...et puis côté graphique en dure tu peux réaliser des choses un peu plus belle lol

Merci beaucoup pour ton aide ;) Je vais voir tout ça !

Mammouth du PHP | 568 Messages

08 mars 2006, 12:46

Remarque, tu peux toujours insérer les résultats de la requête dans un tableau $tab[cat1][sscat1]=x, etc...

Et ensuite pour l'affichage, tu n'as plus qu'à afficher $tab[catx][ssxaty]
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 12:56

Houuu ça m'arrangerait ça. Les tableaux c'est pas trop mon rayon lol tu peux me filer un coup de main et me donner une bonne piste ? :roll:

Encore merci !

Mammouth du PHP | 568 Messages

08 mars 2006, 13:07

bin je viens de le faire :roll:

tu parcours les résultats... à chaque ligne
$tab[LA_CAT][LA_SS_CAT]=LA_VALEUR_DE_COUN;

Et ensuite, là où tu affiches "x entrées", tu fais un : echo $tab[LA_CAT][LA_SS_CAT];
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 mars 2006, 13:09

:roll: désolé je ne sais plus où j'en suis :lol: mes neurones surchauffent hihi

Je vais voir avec ce que tu m'as donné ;) Merci !

Je reviendrais vers toi si le dépatouillage est un échec :langue: