2016-05-06 10 views
0

私は購入した物品の数を私の会社の記録に残すために簡単なWebページを作成しています。私はこのコードを持っています:whileループからのPHP集計変数

$query = mysql_query("SELECT * FROM lisicara WHERE (datum BETWEEN '$a' AND '$b') ORDER BY datum ASC"); 
while($row = mysql_fetch_array($query)) { 
    $datum = $row['datum']; 
    $kg_kupljeno = $row['kg_kupljeno']; 
    $cena1 = $row['cena1']; 
    $kg_prodato = $row['kg_prodato']; 
    $cena2 = $row['cena2']; 
    $napomena = $row['napomena']; 

    $ukupno1 = $kg_kupljeno * $cena1; 
    $ukupno2 = $kg_prodato * $cena2; 
    $razlika = $ukupno2 - $ukupno1; 

    echo ' 
     <tr> 
      <td>'.$datum.'</td> 
      <td>'.number_format($kg_kupljeno).'</td> 
      <td>'.number_format($cena1).'</td> 
      <td>'.number_format($ukupno1).'</td> 
      <td>'.number_format($kg_prodato).'</td> 
      <td>'.number_format($cena2).'</td> 
      <td>'.number_format($ukupno2).'</td> 
      <td>'.number_format($razlika).'</td> 
      <th>'.$napomena.'</th> 
     </tr>'; 
} 

このループの後、それはtrから表のすべてを合計します。問題は$ukupno1,$ukupno2および$razlikaはデータベースから表示されていませんが、PHP $ukupno1 = $kg_kupljeno * $cena1で計算されています。

すべて$ukupno1を合計してwhileループの後に表示するにはどうすればよいですか?

+0

'$ ukupno1sum'として別の変数を定義しようとすると、' while'ループごとに '$ ukupno1sum + = $ ukupno1'を追加することができます –

+0

警告!あなたのコードはSQLインジェクション攻撃に対して脆弱です! –

答えて

0

変数outsiteをループに宣言し、その変数をwhileループ内で操作し、whileループの後で使用します。

例:

//Declaration 
$total_ukupno1 =0; 

$query = mysql_query("SELECT * FROM lisicara WHERE (datum BETWEEN '$a' AND '$b') ORDER BY datum ASC"); 
while($row = mysql_fetch_array($query)) { 
    $datum = $row['datum']; 
    $kg_kupljeno = $row['kg_kupljeno']; 
    $cena1 = $row['cena1']; 
    $kg_prodato = $row['kg_prodato']; 
    $cena2 = $row['cena2']; 
    $napomena = $row['napomena']; 

    $ukupno1 = $kg_kupljeno * $cena1; 
    $ukupno2 = $kg_prodato * $cena2; 
    $razlika = $ukupno2 - $ukupno1; 

    //add ukupno1 or manipulate the variable 
    $total_ukupno1 += $ukupno1; 
    echo ' 
     <tr> 
      <td>'.$datum.'</td> 
      <td>'.number_format($kg_kupljeno).'</td> 
      <td>'.number_format($cena1).'</td> 
      <td>'.number_format($ukupno1).'</td> 
      <td>'.number_format($kg_prodato).'</td> 
      <td>'.number_format($cena2).'</td> 
      <td>'.number_format($ukupno2).'</td> 
      <td>'.number_format($razlika).'</td> 
      <th>'.$napomena.'</th> 
     </tr>'; 
} 

//display after the loop 
echo $total_ukupno1; 

私はそれが役立ちます:)

+0

それは働いている!どうもありがとうございました! –

+0

嬉しいです:) –

0

$ukupno1の累計を取得するには、whileループの前に以下を追加願っています:

$ukupno1Total = 0; 

そして、ループ内で、個々の金額を合計金額に加算します。 $ukupno1 = $kg_kupljeno * $cena1;

$ukupno1Total = $ukupno1Total + $ukupno1; 

後にこれを配置し、ループの後、表示$ukupno1Total

0

Zdravoのフィブラートを!

$ukupno1 += $kg_kupljeno * $cena1; 
$ukupno2 += $kg_prodato * $cena2; 
$razlika = $ukupno2 - $ukupno1; 

とあなたの宣言にこれを追加します:このコードで

$ukupno1 = $kg_kupljeno * $cena1; 
$ukupno2 = $kg_prodato * $cena2; 
$razlika = $ukupno2 - $ukupno1; 

このコードを置き換えます。この変更により

//Declaration 
$total_ukupno1 =0; 
$ukupno1 = 0; 
$ukupno2 = 0; 

、あなたが買って合計を取得します(ukupno1)と最後の行の売り上げ合計(ukupno2)を示します。また、2つの日付の間に販売された金額を$a$bにすることもできます。

それがうまくいけば教えてください。

関連する問題