价格按复选框

时间:2012-12-11 12:40:01

标签: php

我希望人们知道他们可以为他们购买的某种产品支付多少价格。

正如您在下面的示例中所看到的,如果我选中一个或多个复选框,则会有一定数量的“折扣”。

我不希望他们只选中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 "&#8364; $total,-";

}
?>

这是网址:http://sofan.site40.net/Sofan/Untitled-2.php也许它会对你们有所帮助!

3 个答案:

答案 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以进行客户端编辑和显示。 :)