在 MySQLI 和 PHP 中显示 total 的结果

show the result of total in mysqli and php

提问人:wenza 提问时间:6/19/2023 更新时间:6/20/2023 访问量:36

问:

我想显示数量和价格之间的总价值结果

<?php
$query_nominal = "SELECT SUM(quantity*(SELECT shpp.buy_price FROM oc_stock_hpp shpp WHERE shpp.product_id = p.product_id  ORDER BY shpp.id DESC LIMIT 1)) as total FROM oc_product p WHERE status IN ('1','2','3')";
$result_nominal = mysqli_query($koneksi, $query_nominal);
$total_nilai_transaksi = mysqli_fetch_assoc($result_nominal);
?>
<body>
<?php echo "Rp " . number_format((float)$total_nilai_transaksi, 0, ',', '.'); ?>
</body>

但结果是这样的

Rp 1

怎么了?

PHP MySQLI

评论

0赞 Professor Abronsius 6/19/2023
您提取了记录集,但尚未访问单个记录,因此不包含特定的值 - 它是一个数组$total_nilai_transaksitotal
0赞 Arthur Boucher 6/19/2023
表示一行数据,而不是数字。您应该尝试在您的 .$total_nilai_transaksi$total_nilai_transaksi['total']number_format

答:

0赞 AceiusIO 6/20/2023 #1

您正在尝试在数组上使用数字格式函数。这不能正常工作,所以我看到你试图强制类型更改为浮点数。由于 PHP 很奇怪,当数组变成浮点数时会变成 1。这就是为什么你得到“Rp 1”作为你的输出。

要解决您的问题,您需要访问“total”的实际值。这可以通过以下方式完成:

<?php echo "Rp " . number_format($total_nilai_transaksi["total"], 0, ',', '.'); ?>