我如何从使用 php 中选择的用户输入中计算总价

Posted

技术标签:

【中文标题】我如何从使用 php 中选择的用户输入中计算总价【英文标题】:How can i calculate the total price from the user input from select from using php 【发布时间】:2020-05-23 17:22:56 【问题描述】:

我想计算来自 $_SESSION 的用户输入的总价格。 但是,我的代码似乎有问题。

 <label>Seats STA:</label>
        <select name="seats[STA]" id="STA">
            <option value="0">0</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
        </select>
        <span class="error">* Please select atleast 1 seat <?php echo $seatErr ;?></span>

$_SESSION['seats']['STA']=$_POST['seats']['STA'];

$sta = 15;
$stp = 5;
$stc = 7.5;
$fca = 30;
$fcp = 20;
$fcc = 15;
$totalamount = "0.0";


$totalamount =  $_SESSION['seats']['STA'] * $sta +
                $_SESSION['seats']['STP'] * $stp +
                $_SESSION['seats']['STC'] * $stc +
                $_SESSION['seats']['FCA'] * $fca +
                $_SESSION['seats']['FCP'] * $fcp +
                $_SESSION['seats']['FCC'] * $fcc;

$tax = 0.1;

$totalprice = $totalamount * (1+$tax);                

number_format($totalprice,2);

我的问题是,

    $sta 是节省价格的正确方法吗?

    如果没有,我可以在哪里保存选择表单中的产品价格?

    number_format($totalprice,2); 正确显示 2 位小数??

感谢您阅读我的代码!!

【问题讨论】:

你有错误吗?您确定可以在会话中获取变量的值吗? User Inputs from Session?您能解释一下为什么需要在 Session 中存储用户输入吗?用户输入是否需要跨多个页面? 好的,我添加了完整的代码。你们能看出任何错误吗? 【参考方案1】:

    您可以将价格保存在数组中。例如,您也可以从 JSON 文件或数据库中读取。

    价格绝不应由用户发送。

    如果你想显示价格是,但如果你想继续计算价值,round($total_price, 2)是更合适的方法。

代码:

$_PRICES = array(
    "STA" => 15,
    "STP" => 5,
    "STC" => 7.5,
    "FCA" => 30,
    "FCP" => 20,
    "FCC" => 15
);

$total_price = 0;

foreach ($_SESSION['seats'] as $item => $amount) 
    $price = $_PRICES[$item];
    if ($price != null) 
        $total_price += $amount * $price;
    


$tax = 0.1;

$total_price *= 1+$tax;

echo number_format($total_price,2);

【讨论】:

以上是关于我如何从使用 php 中选择的用户输入中计算总价的主要内容,如果未能解决你的问题,请参考以下文章

自动填充总价使用 javascript dom

如何从 html 输入表单中使用 php 查找时差

如何获取多个 Spinner View 中的商品数量并计算总价

如何从淘汰赛 mvc 购物车样本中计算购物车总价值

如何使用javascript在php的输入框中生成随机值

Python函数:带有硬币和纸币的零钱。输入:总价,付款金额