Nombre total de clients par mois pour chaque année [Résolu]

Signaler
Messages postés
24
Date d'inscription
vendredi 3 juillet 2020
Statut
Membre
Dernière intervention
8 octobre 2020
-
Messages postés
12731
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 octobre 2020
-
Bonjour,
Je bloque sur un truc dans mon projet. J'ai une table de ce genre.
Client Annee Janvier Février Mars Avril Mai Juin Juillet Aout Septembre ... Décembre
CIE 2019 0 0 1 1 1 1 1 0 0 0
IT 2019 1 1 1 1 1 0 0 0 0 0
KAN 2020 1 1 1 1 1 1 1 0 0 0
CIE 2019 0 1 1 1 0 0 0 0 0 0
CIE 2020 1 1 1 1 1 1 1 1 1 0
---------------------------------------------------------------------------------------------------------------------------------------------------------
Total Client 2019 1 2 2 2 2 1 1 0 0 0

Je souhaiterais avoir le nombre total de client pour une année (exemple : 2019 qui est entré en paramètre) ayant passés au moins une commande sur chaque mois. Merci pour votre aide.

3 réponses

Messages postés
12731
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 octobre 2020
708
bonjour,
https://www.commentcamarche.net/faq/10925-demander-de-l-aide-pour-vos-exercices-sur-ccm
de quelle genre de table s'agit-il?
est-ce logique d'avoir deux lignes pour le même client et la même année?
Messages postés
24
Date d'inscription
vendredi 3 juillet 2020
Statut
Membre
Dernière intervention
8 octobre 2020

Bonjour yg_be

Il s'agit d'une table mysql. oui c'est possible d'avoir plusieurs lignes pour le même client. Merci

Voici ce que j'avais essayer de faire :
                  $result1 = mysqli_query($int,"select client, annee, COUNT(DISTINCT janvier) as nbrejanvier, COUNT(DISTINCT fevrier) as nbrefevrier, COUNT(DISTINCT mars) as nbremars, COUNT(DISTINCT avril) as nbreavril, COUNT(DISTINCT mai) as nbremai, COUNT(DISTINCT juin) as nbrejuin, COUNT(DISTINCT juillet) as nbrejuillet, COUNT(DISTINCT aout) as nbreaout, COUNT(DISTINCT septembre) as nbreseptembre, COUNT(DISTINCT octobre) as nbreoctobre, COUNT(DISTINCT novembre) as nbrenovembre, COUNT(DISTINCT decembre) as nbredecembre from planningint3 where annee=$annee2");
                      while($row = mysqli_fetch_array($result1)){
	                  $annee2=$row['annee'];
					  $client=$row['client'];         
				       
					  $nbrejanvier=$row['nbrejanvier'];
					  $nbrefevrier=$row['nbrefevrier'];
					  $nbremars=$row['nbremars'];
					  $nbreavril=$row['nbreavril'];
					  $nbremai=$row['nbremai'];
					  $nbrejuin=$row['nbrejuin'];
					  $nbrejuillet=$row['nbrejuillet'];
					  $nbreaout=$row['nbreaout'];
					  $nbreseptembre=$row['nbreseptembre'];
					  $nbreoctobre=$row['nbreoctobre'];
					  $nbrenovembre=$row['nbrenovembre'];
					  $nbredecembre=$row['nbredecembre'];
                                      									   								   
									    } 
Messages postés
12731
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 octobre 2020
708
je ne vois pas où, dans ton code, tu vérifies si un client a commandé tous les mois.
ta requête SQL me semble très bizarre. c'est un projet pour un cours de quelle matière?
si tu reprends ton exemple de données, quel résultat essaies-tu d'obtenir en faisant cette requête?
à quoi sert l'instruction en ligne 3?
Messages postés
24
Date d'inscription
vendredi 3 juillet 2020
Statut
Membre
Dernière intervention
8 octobre 2020

Quand il n'ya pas de commande pour un client dans un mois la valeur par defaut est zero.
voici en fait le résultat que j'obtiens pour ma requete


Le nombre total de clients pour l'interim ne correspond pâs réellement à la réalité. Puisque en Janvier par exemple on a 3 clients dont la commande est supérieure à zero et lui il affiche 1.
Messages postés
12731
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 octobre 2020
708
cela devient de plus en plus confus.
tu n'as pas répondu à mes questions concernant le code que tu nous a montré en #2.