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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MSSQL et PHP] Problème de boucle...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MSSQL et PHP] Problème de boucle...

n°1511383
Bounty59
Posté le 06-02-2007 à 14:20:00  profilanswer
 

Bonjour,
 
Je rencontre un petit souci avec mon imbrication de While qui, je pense, devrait théoriquement fonctionner...
 
Voilà le code PHP avec lequel je tente de réaliser un tableau, affichant les données issues d'une base SQL Server 2003, en executant une procédure stockée.  
 

Code :
  1. <?
  2.   [...]
  3.   $date1 = $jour1.'/'.$mois1.'/'.$an1;
  4.   $date2 = $jour2.'/'.$mois2.'/'.$an2;
  5. // execution de la requete sur la base  (procedure stockee)
  6. $sql2 = "execute dbo.etatComptProd_dicut '".$date1."', '".$date2."';";
  7. $result = mssql_query($sql2, $cnx);
  8. // Haut du tableau
  9. $titre = '<tr><td colspan = "4" id = "titretab">
  10.         Suivi du tonnage Dicut par mode de transport pour la période du '.$date1.' au '.$date2.'</td>';
  11. $nb_lignes = mssql_num_rows($result);
  12. $entete_tableau = "<tr id = 'reftab'>
  13.   <td width=30%><br /></td>
  14.   <td width=30%><br /></td>
  15.   <td width=20%><br />Poids brut</td>
  16.   <td width=20%><br />Cpt</td></tr>";
  17. echo "<table border = '0' id = 'chiffres'>";
  18. echo $titre;
  19. echo $entete_tableau;
  20. while($row= mssql_fetch_object($result)) {
  21. $mois = $row-> libmois;
  22. while($mois == $row-> libmois){
  23. echo "<tr id = 'grostitre'><td>Mois : $mois</td>";
  24. echo "<td></td>";
  25. echo "<td></td>";
  26. echo "<td></td></tr>";
  27. $totalPdsBrutMois = 0;
  28. $modetransp = $row-> libelléTRS;
  29.  while($modetransp == $row-> libelléTRS){
  30.  echo "<tr><td id = 'bilan'>$modetransp</td>";
  31.  echo "<td></td>";
  32.  echo "<td></td>";
  33.  echo "<td></td></tr>";
  34.  $totalPdsBrutTransp = 0;
  35.  $date = $row-> DATEEXP;
  36.   while ($date == $row-> DATEEXP){
  37.   echo "<tr><td>$date</td>";
  38.   echo "<td></td>";
  39.   echo "<td></td>";
  40.   echo "<td></td></tr>";
  41.   $totalPdsBrutJour = 0;
  42.   $totalCptJour = 0;
  43.   $numVEH =  $row-> NUMVEH;
  44.    while($numVEH == $row-> NUMVEH){
  45.    $poidsBrut =  $row-> SommeDePOIDSBRUT;
  46.    $cpt =  $row-> cpt;
  47.    echo "<tr><td></td>";
  48.    echo "<td>$numVEH</td>";
  49.    echo "<td>$poidsBrut</td>";
  50.    echo "<td>$cpt</td></tr>";
  51.    $totalPdsBrutJour += $poidsBrut;
  52.    $totalCptJour += $cpt;
  53.    }
  54.   echo "<tr><td id = 'bilan'>Total jour</td>";
  55.   echo "<td></td>";
  56.   echo "<td id = 'bilan'>$totalPdsBrutJour</td>";
  57.   echo "<td id = 'bilan'>$totalCptJour</td></tr>";
  58.   $totalPdsBrutTransp += $totalPdsBrutJour;
  59.   }
  60.  echo "<tr><td id = 'bilan'>Total transport</td>";
  61.  echo "<td></td>";
  62.  echo "<td id = 'bilan'>$totalPdsBrutTransp</td>";
  63.  echo "<td></td></tr>";
  64.  $totalPdsBrutMois += $totalPdsBrutTransp;
  65.  }
  66. echo "<tr><td id = 'bilan'>Total mois</td>";
  67. echo "<td></td>";
  68. echo "<td id = 'bilan'>$totalPdsBrutMois</td>";
  69. echo "<td></td></tr>";
  70.    
  71. }
  72. }
  73.     echo '</table>';
  74.     // fermer la connexion à sql server
  75.     mssql_close($cnx);
  76. ?>
  77. </div>
  78. </center>


 
J'obtiens alors la première ligne du tableau, qui boucle infiniment...
Mes "While" ne semblent donc pas boucler correctement, serait-ce l'équivalent du "movenext()" en ASP qu'il manquerait à mon code ?...
 
Merci par avance pour votre aide,
Alex
 

mood
Publicité
Posté le 06-02-2007 à 14:20:00  profilanswer
 

n°1511390
sircam
I Like Trains
Posté le 06-02-2007 à 14:48:46  profilanswer
 

Peut-être que:
 

Code :
  1. while($mois == $row-> libmois)


 
Est tjs vérifié et que donc tu affiches sans fin la même ligne.

n°1511671
Bounty59
Posté le 07-02-2007 à 09:24:12  profilanswer
 

Salut sircam, et merci pour ta réponse.
En effet, mais comment faire pour passer à la ligne d'enregistrement suivant dans ce cas ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MSSQL et PHP] Problème de boucle...

 

Sujets relatifs
[PHP] Securite formulaire + base de donnee[batch] problème avec mon batch d'insertion
ASP, mcms, PHP et MySQL se comprennent-ils?Problème pour récuperer une image dans une variable
Flash, probleme pour les sonsProbleme d'URL tinyMCE
[PHP] pb controle de formulaire[Résolu][VBS Débutant Boucle Do-While-Loop Active Directory]
[PHP] FPDF : Comment activer la compression ?problème mmap avec un deamon [résolu]
Plus de sujets relatifs à : [MSSQL et PHP] Problème de boucle...


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