0

需要帮助解决一些问题。

我正在建立一个运输网站,这里客户可以下多个订单(最多 10 个)我使用 PHP 和 MySQL,必须将每个订单插入到表中,每个订单都有一个唯一的 id,所以每个订单都输入一个新行。

代码:

//...

if(isset($_POST["order_price$i"]))
    $order_price=htmlspecialchars($_POST["order_price$i"]);

if(isset($_POST["order_number$i"]))
    $order_number=number_format(htmlspecialchars($_POST["order_number$i"]));

//...

它可以成功添加到数据库中,我的问题是:我希望能够计算订单总额并添加到客户的订单详细信息中。
我这样做了,但它不起作用:

$total_cost = $order_price*$order_number;

请问我做错了什么?

4

3 回答 3

0

您应该将总成本添加到存储在总成本中的先前值(并希望这是一个循环)

   $total = $order_price*$order_number;
   $total_cost = $total_cost + $total;
于 2013-10-04T11:45:08.833 回答
0

您的代码运行良好,请参见此处

<?php

$i = 2;
$_POST["order_price1"] = 20;
$_POST["order_number1"] =1;
$_POST["order_price2"] = 10;
$_POST["order_number2"] =3;
$total_cost = 0;
for($count = 1; $count <= $i; $count ++){

    if(isset($_POST["order_price$count"]))$order_price=htmlspecialchars($_POST["order_price$i"]);

    if(isset($_POST["order_number$count"]))$order_number=number_format(htmlspecialchars($_POST["order_number$i"]));

    $total_cost =$total_cost + ($order_price * $order_number);

}


echo $total_cost;

?>

我在这里测试过:

http://ideone.com/niNxqZ

也许这是你的输入。尝试记录您的输入和变量,这样您就可以跟踪正在发生的事情。情况是,您的输入有特殊字符,或者它为空。或者您将 total_cost 放在循环之外。基本上你的代码是有效的,它在迭代中。

于 2013-10-04T11:48:59.973 回答
0

convert order_price in number format

于 2013-10-04T11:37:49.207 回答