PHP对while循环中的变量求和


PHP summing variables from while loop

我正在制作一个简单的网页来记录我的公司购买了多少东西,但我遇到了一个小问题。我有这个代码:

$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>';
}

在这个while循环之后,它显示了一个tr,其中它对表中的所有内容求和。问题是$ukupno1$ukupno2$razlika不是从数据库中显示的,而是用PHP $ukupno1 = $kg_kupljeno * $cena1计算的。

如何对所有$ukupno1求和,并在while循环后显示?

在循环外声明一个变量,然后在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;

我希望它能有所帮助:)

要获得$ukupno1的运行总数,请在while循环之前添加以下内容:

$ukupno1Total = 0;

然后在循环中,将单个数量添加到总数中。将此放在$ukupno1 = $kg_kupljeno * $cena1; 之后

$ukupno1Total = $ukupno1Total + $ukupno1;

循环后,显示$ukupno1Total

Zdravo brate!

替换此代码:

$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)。您还可以在两个日期$a$b之间获得销售金额。

如果这对你有用,请告诉我。