Afficher le nb d'enregistrement selon des catégories

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher le nb d'enregistrement selon des catégories

par charabia » 08 mars 2006, 17:16

Oki dacodac ;)

Merci !

par heddicmi » 08 mars 2006, 16:34

Dans la configuration actuelle, il va créer les valeurs dans le tableau que si elle existe dans la base.. donc plutôt que de définir une valeur par défaut ici, j'opterais plus par un test dans le courant de ta page, avant chaque affichage de valeur...

if(isset($tab[a])) echo $tab[a]; else echo "nada";

par charabia » 08 mars 2006, 16:28

heddicmi, un tite question supplémentaire :)

Si la requête ne retourne pas de résultat il m'affiche une erreur : "Notice: Undefined offset".

Sais-tu comment je peux palier à ce problème ? J'ai essayé de faire un else mais ça ne fonctionne pas des masses.
$compte = mysql_num_rows($rqt); 

if($compte>0) { 
	while($res=mysql_fetch_row($rqt)) 
	{ 
		$tab[$res[0]][$res[1]]=$res[2];
	}
} 
else { 
//que mettre ici pour qu'il m'affiche 0 comme entrée ?
}

par charabia » 08 mars 2006, 15:51

C'est nickel je vais pouvoir plonger ma tête dans l'eau froide ! Maintenant que je vois en effet c'était pas si compliqué... :oops:

merci beaucoup !

par charabia » 08 mars 2006, 15:48

A vrai dire j'arrive pas à réfléchir lol entre mon boulot, mes cours, mon site et les bugs je sais plus sur quoi je dois me pencher lol

Mais ma bouteille n'est pas si vide hihi ;) Enfin pour le moment elle l'est :lol:

par heddicmi » 08 mars 2006, 15:43

C'est bizarre... Ca me parait super simple et je pensais que t'avais plus de bouteille que ça :oops:
$rqt=mysql_query("SELECT cat, sscat, COUNT(id) FROM document_upload GROUP BY cat, sscat");
while($res=mysql_fetch_row($rqt))
{
$tab[$res[0]][$res[1]]=$res[2];
}
Si cat et sscat contient des chiffres comme je le présume, tu auras donc un tableau où :
$tab[1][1]=x
$tab[1][2]=y
etc...

et donc tu places les échos $tab[a] en conséquence dans ton code

par charabia » 08 mars 2006, 15:35

Dans le flou total...
<?php
//include("protec/config.php");
$host="localhost";
$user="root";
$pass="";
$bdd="test";
mysql_connect($host,$user,$pass) or die("SERVEUR HS");
mysql_select_db($bdd) or die ("BDD HS");


$rqt=mysql_query("SELECT cat, sscat, COUNT(id) FROM document_upload GROUP BY cat, sscat");
$tab[1][1]=mysql_num_rows($rqt);
?>
	
<table cellpadding="5" cellspacing="0">
<tr>
	<td>Exercices</td>
	<td><a href="mailto:[email protected]?Subject=Proposition de nouvelle rubrique pour coach">&nbsp;</a></td>
</tr>
<tr>
	<td><div style="float: left;"><a href="index.php?cat=1&sscat=1">Echauffement</a></div><div style="float: right;">&nbsp;[<?php echo $tab[1][1];?>]</div></td>
</tr>
<tr>
	<td><div style="float: left;"><a href="index.php?cat=1&sscat=2">Echauffement1</a></div><div style="float: right;">&nbsp;[<?php echo $tab[1][2];?>]</div></td>
</tr>
</table>
Je bloque...comment faire la boucle et sur quoi lol je suis épuisé :lol:

par charabia » 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:

par heddicmi » 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];

par charabia » 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 !

par heddicmi » 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]

par charabia » 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 !

par heddicmi » 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:

par charabia » 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:

par heddicmi » 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 ;)