1

我希望人们看到他们必须为他们可以购买的某种产品支付什么价格。

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

我不希望他们在仅选中 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也许它会帮助你们一点!

4

3 回答 3

0

我忍不住注意到您使用 000webhost 作为您的主机和作为他们服务的前用户,我必须说他们的 PHP 和 mySQL 往往不能正常工作。也许尝试在您的计算机上安装 XAMPP 以进行客户端编辑和显示。:)

于 2012-12-12T02:21:57.753 回答
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 等。

于 2012-12-11T13:09:19.377 回答
0

除非我弄错了,否则您希望脚本忽略$checkb并检查$checke是否$checkv已检查,并忽略$checke是否检查$checkv$checke检查。

代替

$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则始终是选中的检查。不过,我认为您必须需要某种优先级,对吗?要更改复选框的优先级,只需切换执行这些条件语句的顺序即可。

这是你要找的吗?

于 2012-12-11T12:48:13.957 回答