Statistiques en pourcentage ?

Eléphant du PHP | 96 Messages

28 janv. 2006, 11:47

Bonjour à tous,
Voilà je ne sais vraiment pas par ou commencer...
je voudrais faire des stats sur le nombre de ventes par commercial ! (ça ne va pas leur plaire !) :)
j'ai 2 tables :

Table vente (allégée)

Code : Tout sélectionner

`id_vente` int(11) NOT NULL auto_increment, `client` varchar(100) NOT NULL default '', `idcommercial` int(11) default NULL, PRIMARY KEY (`id_vente`),
Table commercial

Code : Tout sélectionner

`id_commercial` int(11) NOT NULL auto_increment, `commercial` varchar(50) NOT NULL default '', PRIMARY KEY (`id_commercial`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Les commerciaux' AUTO_INCREMENT=280 ;
Une piste pour démarrer ? merci.

Eléphant du PHP | 383 Messages

28 janv. 2006, 12:19

a priori, si tu veux connaitre le nombre de vente par commercial, il faut faire un group by :
select sum(id_vente), id_commercial from ventes group by id_commercial
devrait te retourner un resultet du genre id du commercial1 => nb de vente du commercial1,.....

Eléphant du PHP | 96 Messages

28 janv. 2006, 12:49

select sum(id_vente), id_commercial from ventes group by id_commercial
devrait te retourner un resultet du genre id du commercial1 => nb de vente du commercial1,.....
Salut,
merci, mais ça je sais faire... :D
ce que j'aimerais c'est du type :
Trucmuche 11%
MachinTruc 15%
Chosemachin 22%
et ainsi de suite...

Eléphant du PHP | 180 Messages

28 janv. 2006, 13:33

Salut !

Ton pb est un pb de math ;-)

D'abord il faut recuperer le nbre total de ventes par ex : 15 qui représente 100%.

Ensuite le nbre de vente par vendeur :
par ex : marcel -> 10 ventes et jojo 5 ventes

Après c'est une règle de trois.

Pour marcel : x = (100*10) / 15 ce qui donne 66,666666 %

Pour jojo : x = (100*5) / 15 ce qui donne 33,3333333 %

Au total du as bien tes 100% de ventes et les % de chaque vendeur.

C'est ce que tu voulais ??

A+

Didier
Giant steps are what you take ... walking on the moon ;-)

Eléphant du PHP | 96 Messages

28 janv. 2006, 14:56

Je me doutais bien que c'était un probléme de maths...
Mais avec mon petit Certificat d'Etude, je ne vais pas aller bien loin !
Si tu avais une syntaxe à me proposer :idea: (j'apprend vite :P ) je ferais le reste.

Eléphant du PHP | 180 Messages

28 janv. 2006, 15:13

Je me doutais bien que c'était un probléme de maths...
Ce que je voulais dire c'était un pb étrangé à PHP .
Mais avec mon petit Certificat d'Etude, je ne vais pas aller bien loin !
Si tu avais une syntaxe à me proposer :idea: (j'apprend vite :P ) je ferais le reste.
Le certif a une grande valeur ! Suivant l'époque à laquelle tu l'as passé ;-)
Niveau syntaxe ben c'est du calcul ... avec des variables ;-)

A+

Didier
Giant steps are what you take ... walking on the moon ;-)

Eléphant du PHP | 383 Messages

28 janv. 2006, 15:15

autant pour moi, je suis parti du principe que tu connaissais la formule du pourcentage, et que ta question portait sur le sql.. donc on reprends :

recuperer le nombre de vente par commercia:
$result=mysql_query("select count(id_vente) as nb_vente, id_commercial from ventes group by id_commercial");
recuperer le nombre total de vente
$nb=mysql_query("select count(id_vente) as total from ventes");
$nb=(mysql_fetch_object($nb))->total;
ensuite, parcours classique :
while ($l=mysql_fetch_object($result))
{
   echo $l->id_commercial." : ".($l->nb_ventes/$nb)*100."<br>";
}
par contre, tu devras faire un cast, puisque tes variables sont entieres. je ne connais pas la syntaxe en PHP, si c'est comme en C c'est (float), mais je ne suis pas sur..