1

購入できる特定の製品にいくらの価格を支払わなければならないかを人々に見てもらいたい.

以下の例からわかるように、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,-";

}
?>

これは URL です: http://sofan.site40.net/Sofan/Untitled-2.php多分それは皆さんを少し助ける!

4

3 に答える 3

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 に答える
0

000webhost をホストとして使用し、サービスの以前のユーザーとして使用していることに気付かずにはいられませんでしたが、彼らの PHP と mySQL は正しく機能しない傾向があると言わざるを得ません。おそらく、クライアント側の編集と表示のために、XAMPP をコンピューターにインストールしてみてください。:)

于 2012-12-12T02:21:57.753 に答える