我希望人们知道他们可以为他们购买的某种产品支付多少价格。
正如您在下面的示例中所看到的,如果我选中一个或多个复选框,则会有一定数量的“折扣”。
我不希望他们只选中1个复选框就有折扣,当他们选中3个复选框时会有更多折扣。
我需要输入什么代码才能完成这项工作!请帮忙! (百分比折扣,'procent',为0.9)
<?php
if ($_POST['sub']){
$checkv = $_POST['checkv'];
$checkb = $_POST['checkb'];
$checke = $_POST['checke'];
$procent = $_POST['procent'];
$total = $checkv + $checkb + $checke;
$total = $total * $procent;
echo "€ $total,-";
}
?>
这是网址:http://sofan.site40.net/Sofan/Untitled-2.php也许它会对你们有所帮助!
答案 0 :(得分:0)
除非我弄错了,否则您希望脚本在选中$checkb
时忽略$checke
和$checkv
,如果$checke
或{{$checkv
则忽略$checke
1}}被检查。
替换
$checkv = $_POST['checkv'];
$checkb = $_POST['checkb'];
$checke = $_POST['checke'];
使用
$checkv = $_POST['checkv'];
$checkb = $checkv == 0 ? $_POST['checkb'] : 0; // If $checkv doesn't = 0, this = 0
$checke = $checkb == 0 ? $_POST['checke'] : 0; // If $checkb doesn't = 0, this = 0
虽然这是按顺序进行的,但如果选中了$checkv
和$checke
,$checkv
将始终是所选的检查。我认为你必须要有某种优先权,对吧?要更改复选框的优先级,只需切换执行这些条件语句的顺序。
这是你在找什么?
答案 1 :(得分:0)
如果以下是正确的:
用户检查2个盒子并获得1个折扣,检查1个盒子 - 没有折扣,3个盒装 - 更多折扣
然后你需要减少复选框的数量:
<?php
if ($_POST['sub']){
extract($_POST);
$discount = $checkv + $checkb + $checke - 1;
$total = $total - $procent * $discount;
}
?>
$ procent是0.1(从1减去的值)
因此,如果选中3个方框,则2个方框的折扣为0.8和0.9。
你也可以使用pow PHP功能,所以对于2产品折扣是0.9,3 - 0.81,4 - 0.73等。
答案 2 :(得分:0)
我忍不住注意到你使用000webhost作为主机以及作为其服务的前用户,我必须说他们的PHP和mySQL不能正常工作。也许尝试在您的计算机上安装XAMPP以进行客户端编辑和显示。 :)