有很多问题,我在表中的字段上使用SUM,它可以工作,但只能用小数点后一位,我需要将其设置为货币格式,我尝试了以下代码,但没有其他尝试>
$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable";
$result = mysql_query($query) or die(mysql_error());
// Print out result
while($row = mysql_fetch_array($result)){
echo "Total ". $row['SUM(purchase)'];
echo "<br />";
}
答案 0 :(得分:1)
首先,请不要使用mysql*
函数,因为它们已被弃用。移至mysqli*
函数。 See the PHP Docs for more details。
如何?
SELECT CONCAT('$', ROUND(SUM(`purchase`), 2)) AS `result`
FROM `dtable`
CONCAT
只是将字段串联在一起,因此,在您的情况下,您将以$###2
结尾。您需要一个函数(例如ROUND
)来根据需要设置数字的格式。 ROUND
将所需的小数位数作为第一个参数。有关ROUND
(和其他MySQL数学函数)的更多信息,请访问:https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_round
您也可以使用number_format在PHP中完成所有操作。
更改
$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable";
....
echo "Total ". $row['SUM(purchase)'];
到
$query = "SELECT SUM(`purchase`) AS `sumOfPurchase` FROM `dtable`";
....
echo 'Total $' . number_format($row['sumOfPurchase'], 2);
答案 1 :(得分:0)
您也可以使用
SELECT CONCAT('$',FORMAT(sum(purchase),2)) as purchase from dtable
将给出$ 1,234,567.89的结果