Saya mencoba menghitung jumlah total semua harga yang saya dapatkan dari database saya tetapi saya tidak dapat mengetahuinya. Ini adalah tagihan dari sebuah restoran.

$parameters = array(':tafelnummer'=>$tafelnummer);

$sth = $pdo->prepare("select * from bestellingen WHERE Tafelnummer = '$tafelnummer'");
$sth->execute();




while($row = $sth->fetch())
{
    
    
    echo "<tr> ";
        echo "<td>" . $row['Name'] . "</td>"; 
        echo "<td>" . $row['Soort'] . "</td>";
        echo "<td> " . $row['Price'] . "</td>";
    echo "</tr> "; 
    

}

Harga akan memberikan hasil untuk setiap hidangan yang saya butuhkan jumlah totalnya

-2
Geert Van Der Velden 15 Januari 2021, 14:41

3 jawaban

Jawaban Terbaik

Daripada kembali ke database, Anda dapat menyimpan akumulator dan kemudian menambahkan baris TOTAL ke tagihan.

Saya juga telah mencoba untuk memperbaiki masalah Injeksi SQL Anda.

$sth = $pdo->prepare("select * from bestellingen WHERE Tafelnummer = :tn");
$sth->execute([':tn' => $tafelnummer]);

$tot = 0;

while($row = $sth->fetch()) {
        
    echo "<tr> ";
        echo "<td>" . $row['Name'] . "</td>"; 
        echo "<td>" . $row['Soort'] . "</td>";
        echo "<td> " . $row['Price'] . "</td>";
    echo "</tr> "; 

    $tot += (float)$row['Price'];
}

echo "<tr> ";
    echo "<td>&nbsp;</td><td>TOTAL</td><td>$tot</td>";
echo "</tr> ";

0
RiggsFolly 15 Januari 2021, 12:30
SELECT SUM(Price) AS Totalamount 
FROM bestellingen 
WHERE Tafelnummer = '$tafelnummer' 

Gunakan kueri ini daripada dapatkan Totalamount.

0
RiggsFolly 15 Januari 2021, 11:48

Cukup gunakan variabel $total dan tambahkan setiap harga ke dalamnya dalam loop while.

$total=0;

while($row = $sth->fetch())
{
    $total+=(int)$row["Price"];
    echo "<tr> ";
      echo "<td>" . $row['Name'] . "</td>"; 
      echo "<td>" . $row['Soort'] . "</td>";
      echo "<td> " . $row['Price'] . "</td>";
    echo "</tr> "; 
}

Pastikan nilai Harga Anda selalu bilangan bulat. Tidak perlu melakukan typecast ke (int).

0
oraterlee 15 Januari 2021, 11:59