2014-09-04 5 views
1

J'ai une table, qui est triée par item_code et status. J'ai 3 statuts = 0,1 et 2. Je veux faire des calculs lorsque chaque statut est terminé.PHPExcel écrase les lignes

Fondamentalement, PXPExcel écrase la dernière ligne de chaque catégorie status. Selon la base de données il y a: 4 lignes avec status 0, 1 ligne avec status 1 et 5 lignes avec status 2. Je suis coincé sur cette partie déjà depuis quelques jours, donc toute aide serait appréciée.

Voici mon code:

http://pastebin.com/4FZjZmt4

est ici la sortie de fichier d'exportation:

http://imgur.com/xR5nP3Q

Ce que je l'ai déjà essayé de le faire:

/* 
    * Add +1 to each count so it could count last row as well. 
    *  1. Start adding +1 to each count outside the main loop. 
    *  2. $newCountOne = $countZero + ($countOne +1); 
    *  3. $newCountTwo = $newCountOne + ($countTwo +1); 
    *  4. if ($loopCounter == ($countZero +1)) 
    *  5. To raise $key parameter in "total" row. 
    * 
    */ 

Merci d'avance.

Répondre

0

Ceci est votre problème principal.

La boucle lors de l'ajout des valeurs à une cellule spécifique doit être ainsi:

enter image description here

EDIT:

Essayez ceci: vous

<?php 

    $items = 18; 
    $countZero = 4; 

    $countOne = 10; 

    $countTwo = 4; 

    $newCountOne = $countZero + $countOne; 
    $newCountTwo = $newCountOne + $countTwo; 

    echo "Segundo stop: ".$newCountOne."<br>"; 
    echo "Tercer stop: ".$newCountTwo."<br>"; 

    //Starting point. 
    $loopCounter = 1; 
    $number = 0; 


    //Each status has his own background color 
    // foreach($items AS $key=>$item) { 
     for ($i=0; $i < $items; $i++) { 

     echo "A".($number)."ACTUAL DB VALUE<br>"; 

     //Main loop 
     if($loopCounter == $countZero) { 
      echo $loopCounter."<br>"; 
      $number++; 
      //Status0 
      echo "Status 0 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 


     } elseif ($loopCounter == $newCountOne) { 

      $number++; 
      //Status1 
      echo "Status 1 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 

     } elseif ($loopCounter == $newCountTwo) { 

      $number++; 
      //Status2 
      echo "Status 2 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 

     } 

      //Remove this ELSE! 
      /*echo "B".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "C".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "D".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "E".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "F".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "G".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "H".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "I".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "J".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "K".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "L".($number + 7)."ACTUAL DB VALUE<br>";*/ 


     $number++; 
     $loopCounter++; 
    } 
?> 
+0

Merci beaucoup pour explication mais je ne peux pas comprendre, comment transférer mon code dans votre boucle d'idée. Pouvez-vous m'aider à comprendre, s'il vous plaît? –

+0

J'ai compris ce que vous avez conseillé de faire et je l'ai fait, mais malheureusement, cela ne m'a pas aidé. J'ai la même sortie avec le même 1 écraser après chaque section de statut. –

+0

J'ai joué autour de votre code et maintenant j'ai les résultats suivants -> http://imgur.com/TTw1KIp mais ce n'est toujours pas ce que je voulais atteindre .. Des suggestions? –

Questions connexes