php - 计算数量和总指定价格
问题描述
我正在做一个购买物品的小练习,我有如何让它工作的想法,但是,我找不到给我购买产品总价格结果的关键。我在 PHP 中工作。基本上我想做的是,如果你买了 5 支笔,然后将这 0.50 笔的成本乘以 5,然后告诉我要支付的总额。(忘记最后的 $ book 变量,因为即使我将购买的书籍总数乘以,我也无法弄清楚其余产品如何计算)。
session_start();
$_SESSION["nombre"] = "Comprador";
echo "<p><b><u>Bienvenido $_SESSION[nombre]</u></b></p>";
//PRECIOS DE LOS ARTICULOS
$books = 1.50;
$pen = 0.50;
$stapler = 3.00;
$cardboard = 0.90;
$File = 0.20;
$pencil = 0.10;
$Kit = 5.50;
//CHOOSE THE PRODUCT
if(isset($_SESSION['nombre'])==true)
{
if($_POST['articulo']==1)
{
echo "You will buy: book";
}
elseif($_POST['articulo']==2)
{
echo "You will buy: pen";
}
elseif($_POST['articulo']==3)
{
echo "You will buy: stapler";
}
elseif($_POST['articulo']==4)
{
echo "You will buy: cardboard";
}
elseif($_POST['articulo']==5)
{
echo "You will buy: File";
}
elseif($_POST['articulo']==6)
{
echo "You will buy: Pencil";
}
elseif($_POST['articulo']==7)
{
echo "You will buy: Kit";
}
else
{
echo "ERROR: Your cart is empty :(";
}
//HOW MANY?
if(isset($_POST['number']))
{
if(!empty($_POST['number']))
{
echo "<br/>";
$number=$_POST['number'];
echo "Cantidad a comprar: " . $number;
}
else
{
echo "<br/>";
echo "Fail: You must choose how many will buy";
echo "<br>";
echo "<a href='inicio.php'> Cancelar </a>";
}
}
}
//PAY
if (isset($_POST['articulo']) && isset($_POST['number']))
{
echo "<br/>";
echo "You have to pay: " . $number * $book . " €.";
echo "<br>";
echo "<br>";
echo "<a href='pedidos.php'> Pay it </a>";
echo "<br>";
echo "<a href='inicio.php'> Volver </a>";
}
//FAIL SEASSON
else
{
echo "no se ha iniciado la sesión";
}
?>
<h1>WELLCOME!</h1>
<form id="inicio" method="post" action="carrito.php">
<p>
<select name="articulo">
<option value=""></option>
<option value="1">Books - 1.50€</option>
<option value="2">Pens - 0.50€</option>
<option value="3">stapler - 3.00€</option>
<option value="4">Cardboard - 0.90€</option>
<option value="5">File - 0.20€</option>
<option value="6">Pencil - 0.10€</option>
<option value="7">Kit - 5.00€</option>
</select>
</p>
<p>
<label for="nombre">How many do you want to buy?</label>
<br/>
<br/>
<input type="number" name="number" id="number">
</p>
<p>
<input type="submit" name="submit" id="submit" value="Añadir al carrito">
</p>
解决方案
有很多方法可以让用户建立一个装满商品的购物车然后计算价格,但我相信这超出了这个问题的范围。
就您上面显示的单一场景而言。即用户购买了 X 个单件商品。然后对您的代码的一个小调整是定义一个 $total 变量,在文件开头设置为零。
然后在您的条件 if 块中,例如它等于 2 '笔'。将笔的价值乘以物品的数量,然后将其添加到您的总数中。然后显示总数。
如果您想允许添加其他项目,那么您可以将第一个选择(即 5 支笔)存储到一个数组中,然后将该数组保存为会话变量。然后在每次后续加载页面时,读取数组并将所有项目添加到 $total 变量。
推荐阅读
- azure-active-directory - 无法访问 /me/drive/root/children(也无法访问任何 driveItem 对象)
- android - 如何在房间迁移语句中使用 Kotlin 字符串模板
- validation - Salesforce - 验证规则 (RegEX)
- java - 从屏幕修改时如何自动加载 Spring Security
- linkedin - Linkedin 身份验证问题 - 访问权限不足:GET /people/~:
- hyperledger-fabric - 超级账本结构:同一组织中的同行尝试使用错误的地址来设置链码监听地址
- vue.js - 当我调用 created() 钩子时未定义的 mapState 组件
- ios - iOS:如何计算两个日期之间的毫秒数
- android - 如何将以下json数据保存到两个表(模型表和变体表)中,并根据模型获取数据
- javascript - Darksky api没有显示正确的时间