PHP汇总来自while循环的变量

时间:2016-05-06 14:37:48

标签: php mysql sum

我正在创建一个简单的网页,让我公司记录我们购买了多少东西,然后遇到了一个小问题。我有这段代码:

$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循环后显示它?

3 个答案:

答案 0 :(得分: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;

我希望它有所帮助:)

答案 1 :(得分:0)

要获得总计group 'TGAdminsBot' version '0.1' apply plugin: 'java' apply plugin: 'idea' sourceCompatibility = 1.8 repositories { mavenCentral() maven { url "https://jitpack.io" } } idea { module { downloadJavadoc = true downloadSources = true } } configurations { quasar } dependencies { compile 'co.paralleluniverse:quasar-core:0.7.4:jdk8' quasar 'co.paralleluniverse:quasar-core:0.7.4:jdk8' compile 'com.fasterxml.jackson.core:jackson-databind:2.7.4' compile 'com.fasterxml.jackson.core:jackson-core:2.7.4' compile 'co.paralleluniverse:comsat-httpclient:0.7.0' compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.2.0' testCompile group: 'junit', name: 'junit', version: '4.11' } tasks.withType(JavaExec) { jvmArgs "-javaagent:${configurations.quasar.iterator().next()}" } task run(type: JavaExec) { main = 'com.sunova.bot.Launcher' classpath = sourceSets.main.runtimeClasspath } ,请在while循环之前添加以下内容:

$ukupno1

然后在循环内部,将单个金额添加到总计中。把它放在$ukupno1Total = 0;

之后
$ukupno1 = $kg_kupljeno * $cena1;

然后在循环之后,显示$ukupno1Total = $ukupno1Total + $ukupno1;

答案 2 :(得分:0)

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之间销售金额。

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