Vous n'êtes pas identifié(e).
Bonjour à tous.
Me revoila avec une nouvelle question.
J'ai pour l'instant un COUNT qui s'affiche suivant des choix fait au travers de menu déroulant, cela compte le nombre de fiches validées par opérateur suivant une date choisie . Voila ma requête :
C'est pas très joli, il y a mieux, mais ça fonctionne.
J'aimerais donc faire maintenant un tableau avec les dates du jour suivant le mois choisi, qui afficherait le nombre de fiches validées ainsi que le nombre de fiches jetées (valid ='2'). Mais je ne vois pas du tout comment, à part reconstruire une requête pour chaque jour et chaque cellule. Avantage, j'ai un champ datetime...
Ex :
2010-05-25 validée 10 jetée 12
2010-05-26 validée 20 jetée 03
2010-05-27 validée 24 jetée 01
2010-05-28 validée 30 jetée 21
Un ARRAY avec un DISTINCT peut être ? Si vous pouviez m'aiguiller sur la marche à suivre, ça serait super. J'ai bcp de mal avec COUNT.
Dernière modification par theavengers (31-05-2010 13:32:46)
Hors ligne
Saluton,
Je te conseille de ne pas utiliser de mots du langage SQL (Count) comme nom de table, colonne ou alias.
Pour ton problème, il te suffit d'ajouter le GROUP BY idoine sur le jour du mois à la fin de ta requête.
WITH ROLLUP devrait te permettre, en sus, de récupérer les totaux généraux.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci, je regarde tout cela desuite.
Hors ligne
Hello, bon maintenant, ça marche... mais il doit y avoir un moyen beaucoup moins gourmand en terme de ressources que l'amas de requête que j'ai fait pour chaque jour.
Une boucle par date du jour ? Ou une boucle simple jusqu'au 31 enieme jour quoi qu'il arrive...
//comptage des entrées pour le 01
$requete="SELECT
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid ='1') AS champs1,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid in ('2','3','4') ) AS champs2,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 = 'rep01' ) AS champs3,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 in ('rep02','rep02','glace','rep03','autre') ) AS champs4,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'non' AND quest05 in ('oui3mois','oui6mois','ouiannee') ) AS champs5,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid in ('1','2','3','4') ) AS champs6 ";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_object($resultat);
echo $ligne->CHAMPS1;
echo "<tr><td class=td1> 01$madate</td>";
echo '<td class=td1> ',$operateur,' </td>';
echo "<td class=td1> $ligne->champs1 </td>";
echo "<td class=td1> $ligne->champs2 </td>";
echo "<td class=td1> $ligne->champs3 </td>";
echo "<td class=td1> $ligne->champs4 </td>";
echo "<td class=td1> $ligne->champs5 </td>";
echo "<td class=td1> $ligne->champs6 </td></tr>";
//comptage des entrées pour le 02
$requete="SELECT
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid ='1') AS champs1,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid in ('2','3','4') ) AS champs2,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 = 'rep01' ) AS champs3,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 in ('rep02','rep02','glace','rep03','autre') ) AS champs4,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'non' AND quest05 in ('oui3mois','oui6mois','ouiannee') ) AS champs5,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid in ('1','2','3','4') ) AS champs6 ";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_object($resultat);
echo $ligne->CHAMPS1;
echo "<tr><td class=td1> 02$madate</td>";
echo '<td class=td1> ',$operateur,' </td>';
echo "<td class=td1> $ligne->champs1 </td>";
echo "<td class=td1> $ligne->champs2 </td>";
echo "<td class=td1> $ligne->champs3 </td>";
echo "<td class=td1> $ligne->champs4 </td>";
echo "<td class=td1> $ligne->champs5 </td>";
echo "<td class=td1> $ligne->champs6 </td></tr>";
Hors ligne