Bonjour à tous,
Je vous explique mon problème.
Je suis actuellement en stage dans une société qui ne compte aucun informaticien et là, ça fait 3 jours que je galère sur un tableau.
Pour exposer le sujet, je fais une requête MySQL avec la fonction query->. Jusque là, aucun soucis.
Ensuite je fais mon while avec mon fetch, et c'est là que ça se complique (pour moi).
Je travaille sur une base de données de poisson et de site de pêche.
Je dois récupérer tous les poissons qui ont été pêchés sur la station. (jusque là aucun problème non plus)
C'est maintenant que j'ai beaucoup de mal.
exemple d'affichage: p1 p2 p3 p4 p5 p6 p7 p8 p9 que je souhaiterais (en supprimant p7 aussi)
année X1 1 0 10 6 3 0 0 7 6
année X2 0 3 5 0 2 4 0 6 1
Or, on a essayé 2 solution.
Au départ la base de données ne comprenait que les poissons ayant été pêchés donc sur la première ligne j'obtenais 1 10 6 3 7 6 et la deuxième 3 5 2 4 6 1
Ca n'allait pas donc on a décidé de faire un tableau dynamique sous Excel et injecter les données avec des 0 sur les poissons non pêchés. (Je pensais que ca serait plus simple)
Maintenant ça m'affiche tous les poissons même ceux à 0.
Le problème est de supprimer tous les poissons n'ayant jamais été pêchés (donc ici le 7)
Donc faire une addition sur mes résultats. et c'est là que je bloque. N'ayant qu'une seule ligne de ma requête donc un seul tableau, je ne sais pas comment faire pour retirer les
poissons jamais pêchés sur le site ( il y a 73 espèces). Je peux avoir une seule pêche ou plusieurs.
Partie du résultat que je récupère sous la forme d'un tableau en comprenant plusieurs.
Array ( [date_operation] => 2010-05-20 [0] => 2010-05-20 [code_operation] => 87320000352 [1] => 87320000352 [ABH] => 0 [2] => 0 [ABL] => 0 [3] => 0 [ALA] => 0 [4] => 0 [ALF] => 0 [5] => 0 [ANG] => 1 [6] => 1 [APP] => 0 [7] => 0 [ASP] => 0 [8] => 0 [ATH] => 0 [9] => 0 [BAF] => 11 [10] => 11 [BBG] => 0 [11] => 0 [BOU] => 0 [12] => 0 [BRB] => 0 [13] => 0 [BRE] => 0 [14] => 0 [BRO] => 0 [15] => 0 [CAA] => 0 [16] => 0 [CAG] => 0 [17] => 0 [CAK] => 0 [18] => 0 [CAR] => 0 [19] => 0 [CAS] => 0 [20] => 0 [CCO] => 0 [21] => 0 [CCU] => 0 [22] => 0 [CHA] => 185 [23] => 185 [CHE] => 14 [24] => 14 [CMI] => 0 [25] => 0 [CTI] => 0 [26] => 0 [CYP] => 0 [27] => 0 [EPI] => 0 [28] => 0 [EPT] => 19 [29] => 19 [FLE] => 0 [30] => 0 [GAM] => 0 [31] => 0 [GAR] => 0 [32] => 0 [GOU] => 53 [33] => 53
Voici mes parties de codes
Code :
- $total_poisson = $bdd ->query('SELECT O.date_operation , P.*
- FROM PECHER_ABONDANCE P
- NATURAL JOIN OPERATION O
- WHERE code_wama_station = "'.$_SESSION['code_wama_session'].'" order by date_operation ');
- while( $donnee_p = $total_poisson -> fetch()){
- $annee_poisson = date('Y',strtotime($donnee_p['date_operation']));
- $test = 0 ;
- for($i = 0 ; $i < 73 ; $i++){
- $test += $donnee_p[20][$i] ;
- }
- }
- echo $test ;
- en commentaire car ne fonctionne pas terrible, c'était des test que j'ai conservé
- /*for($i = 1 ; $i<73 ; $i++){
- if($i == 1 )
- echo date('Y',strtotime($donnee_p['date_operation']));
- else{
- $ang = $donnee_p[$i];
- echo " ".$ang." ";
- }*/
- // while ( $tab_annee_civile > $o ) {
- /* for($i = 1 ; $i<73 ; $i++){
- if($i == 1 )
- echo date('Y',strtotime($donnee_p['date_operation']));
- else{
- $ang = $donnee_p[$i];
- // echo " ".$ang." ";
- }
- }
-
- // }
-
-
- }
- */
|
Merci d'avance pour toutes vos réponses
Message édité par pulpipi45 le 20-08-2013 à 12:24:12