Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
2132 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  problème avec une boucle foreach

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec une boucle foreach

n°2200899
pulpipi45
Posté le 27-08-2013 à 15:40:57  profilanswer
 

Bonjour à tous
Je termine un stage vendredi et avec un collègue, on vient de s'apercevoir d'un bug. Le seul sur tout le site réalisé (pour le moment  :sarcastic: )
Je perds des poissons.  :fou:  
 
Le but de se code, est d'afficher tous les poissons qui ont été pêché au moins une fois sur une station.
 par exemple   je souhaiterais que ca affiche:
p1   p2  p3  p4  p5  p6  p7  p8  p9  p10
1     3     -     5   7    9    3    2   -      -
-      5    6     -    8     -    4    1   2    2
 
mais le résultat est
p2  p3  p5  p7  p8  p9  p10
3    -    5    3    2    -     -    
5   6     8    4    1   2    2
en gros, je perds des poissons
Le problème vient du deuxième foreach mais je vois pas du tout comment le résoudre.
 
 
 

Code :
  1. $masse_poisson = $bdd -> query('SELECT O.date_operation, ABH ,ABL ,ALA ,ALF ,ANG ,APP ,ASP ,ATH ,BAF ,BBG ,BOU ,BRB
  2.                                                                     BRE ,BRO ,CAA ,CAG ,CAK ,CAR ,CAS ,CCO ,CCU ,CHA ,CHE ,CMI
  3.                                                                     CTI ,CYP ,EPI ,EPT ,FLE ,GAM ,GAR ,GOU ,GRE ,HOT ,HYC ,IDE
  4.                                                                     LOF ,LOR ,LOT ,LPM ,LPP ,LPR ,LPX ,MGL ,MUC ,MUP ,OBR ,OCL
  5.                                                                     PCC ,PCH ,PER ,PES ,PFL ,PIM ,PLI ,PSR ,ROT ,SAN ,SAT ,SDF
  6.                                                                     SIL ,SPI ,TAC ,TAN ,TOX ,TRF ,TRM ,VAI ,VAN ,VAR
  7.                                             FROM PECHER_MASSE M
  8.                                             NATURAL JOIN OPERATION O
  9.                                             WHERE code_wama_station = "'.$_SESSION['code_wama_session'].'" order by date_operation ');
  10.                 $array = array();
  11.                 $array_b = array();
  12.                 while( $donnee_m = $masse_poisson -> fetch()){
  13.                      foreach ($donnee_m as $key => $value) {
  14.                          if (!is_numeric($key)) {
  15.                              $array[$key] = $value;
  16.                              $array_b[date('Y', strtotime($donnee_m['date_operation']))][$key] = $value;
  17.                          }
  18.                      }
  19.                  }
  20.                     $head = "";
  21.                      $body = "";
  22.                      foreach ($array as $key => $value) {
  23.                          if ($value != 0)
  24.                              $head .= "<th>$key</th>";
  25.                      }                 
  26.                     $line = "";
  27.                          foreach ($array_b as $key => $value) {
  28.                              $line .= "<tr>";
  29.                              foreach ($value as $key2 =>$value2) {
  30.                                  if($array[$key2] != 0){
  31.                                      $dec = round($value2,2);
  32.                                      if($dec == 0)
  33.                                          $line.= "<td>-</td>";
  34.                                      else
  35.                                      $line .= "<td>$dec</td>";
  36.                                  }
  37.                              }
  38.                              $line .= "</tr>";
  39.                          }
  40.                      echo "</table>";
  41.                 $table = "<table border=\"1\" id=\"tableau_peche\"><thead><tr>$head</tr></thead><tbody>$line</tbody></table>";
  42.                 echo $table;
  43.                 echo "<p id=\"non\">-9 : Non déterminée</p>";
  44.                 $masse_poisson->closeCursor();


 
Merci pour vos réponses et votre aide

mood
Publicité
Posté le 27-08-2013 à 15:40:57  profilanswer
 

n°2200901
sltpaulo
Posté le 27-08-2013 à 16:00:27  profilanswer
 

Essaye avec ça....
 

Code :
  1. while ($donnee_m = $masse_poisson->fetch()) {
  2.     foreach ($donnee_m as $key => $value) {
  3.         if (!is_numeric($key)) {
  4.             if (!isset($array[$key]) or $array[$key] == '')
  5.                 $array[$key] = 0;
  6.             $array[$key] += $value;
  7.             $array_b[date('Y', strtotime($donnee_m['date_operation']))][$key] = $value;
  8.         }
  9.     }
  10. }

n°2200904
pulpipi45
Posté le 27-08-2013 à 16:42:57  profilanswer
 

Merci, c'était ce qu'il fallait.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  problème avec une boucle foreach

 

Sujets relatifs
Probleme Application JAVA Connexion DB MySQL (connector/J driver)directx 11 inclu dans win7 problème jeu
Boucle FOR et tableau[Qt designer débutant] Problème de connexions des slots
Problème upload d'imagesphp problème tableau suite requête MySQL [résolu]
Probleme import csv dans une base de donnéeprobleme php raider
probleme sur moteur de recherche sur page HTMLProblème de code Wordpress, le design fait des siennes!
Plus de sujets relatifs à : problème avec une boucle foreach


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR