php/mysql: faire un tableau complexe qui calcule des totaux

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 : php/mysql: faire un tableau complexe qui calcule des totaux

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par rafiki14 » 16 mai 2011, 12:31

j'ai trouvé mon erreur j'avais mal défini certaines variables !
tout fonctionne maintenant !
Merci.

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par dunbar » 12 mai 2011, 16:10

Merci pour vos réponses

Je crois que j'ai réussi à gérer ça en construisant un tableau à 2 dimensions et en faisant des boucles for!
je galère juste un peu au niveau de l'affichage des dernières colonnes de totaux, ma boucle fonctionne quand je fais un print j'ai le bon resultat, mais quand je veux afficher mon tableau j'ai une erreur du type Notice: Undefined offset: 4..
Avec ton code il serait plus simple de t'apporter notre aide :wink:

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par moogli » 12 mai 2011, 15:28

salut,

ce type d'erreur est principalement dû a une mauvaise gestion d'un index, tu fait appel à l'index 4 qui n'existe pas dans ton tableaux, c'est pour cela qu'il est préférable d'utiliser foreach plutôt que for pour parcourir des tableaux ;)


@+

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par rafiki14 » 12 mai 2011, 15:12

Merci pour vos réponses

Je crois que j'ai réussi à gérer ça en construisant un tableau à 2 dimensions et en faisant des boucles for!
je galère juste un peu au niveau de l'affichage des dernières colonnes de totaux, ma boucle fonctionne quand je fais un print j'ai le bon resultat, mais quand je veux afficher mon tableau j'ai une erreur du type Notice: Undefined offset: 4..

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par dunbar » 12 mai 2011, 00:08

Et en suivant l'exemple de CYRANO cette requête devrait faire l'affaire :)
SELECT SEXE,R_93, R_94, R_95, SEMAINE,
	         SUM( IF( SEXE ='F', R_93, 0))AS F1,
	         SUM( IF( SEXE ='F', R_94, 0))AS F2,
	         SUM( IF( SEXE ='F', R_95, 0))AS F3,
	         SUM( IF( SEXE ='M', R_93, 0))AS M1,
	         SUM( IF( SEXE ='M', R_94, 0))AS M2,
	         SUM( IF( SEXE ='M', R_95, 0))AS M3,
	         SUM( R_93 + R_94 + R_95 )AS total
           FROM CALCUL
           GROUP BY SEXE, SEMAINE 
Exemple de ma table

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `calcul` ( `ID` int(5) NOT NULL AUTO_INCREMENT, `SEXE` varchar(2) NOT NULL, `R_93` int(5) NOT NULL, `R_94` int(5) NOT NULL, `R_95` int(5) NOT NULL, `SEMAINE` int(11) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par Cyrano » 11 mai 2011, 21:53

Ce serait surtout beaucoup plus clair avec deux tableaux pour ta sortie, quelque chose comme ceci par exemple :
+--------------+------+----+----+----+
| semaine      | sexe | 93 | 94 | 95 |
+--------------+------+----+----+----+
| 1ere semaine | F    |  5 |  8 |  1 |
| 1ere semaine | M    |  2 |  3 |  0 |
| 2nde semaine | F    |  7 |  1 |  6 |
| 2nde semaine | M    |  4 |  2 |  8 |
+--------------+------+----+----+----+

+-------------+---------+---------+---------------+
|     semaine | total_F | total_M | total/semaine |
+-------------+---------+---------+---------------+
|           1 |      14 |       5 |            19 |
|           2 |      14 |      14 |            28 |
+-------------+---------+---------+---------------+
| total année |      28 |      19 |            47 |
+-------------+---------+---------+---------------+
Non ? :-k

Re: php/mysql: faire un tableau complexe qui calcule des totaux

par dunbar » 11 mai 2011, 18:35

Donne nous la structure de ta base.
Dis nous aussi à quoi correspond le total année, et le total/semaine

A+

php/mysql: faire un tableau complexe qui calcule des totaux

par rafiki14 » 11 mai 2011, 17:09

Bonjour,

Je voudrai créer un tableau qui calcule de totaux d'après les informations contenues dans ma base de données.
J'ai une base de données contenant des informations sur des participants à un stage.
Je voudrais donc créer ceci:
semaine_______________sexe_____93____94___95______total____total/semaine
1ere semaine___________F________5_____8____1_______14_________19
1ere semaine___________M_______2______3____0_______5______
2semaine______________F________7______1____6______14__________28
2semaine______________M________4______2____8______14
total/année____________F________12_____9_____7_____
total/année____________M________6______5_____8_____

Etc..
je ne sais pas si vous comprenez mais j'ai besoin de votre aide.
j'ai essayé avec un foreach de parcours de tableau mais je n'obtient pas ce que je souhaite.
Mon plus gros problème c'est de mettre le bon calcul (avec la bonne requête) au bon endroit!

Si quelqu'un veut bien m'aider, merci d'avance.