为了账号安全,请及时绑定邮箱和手机立即绑定

多个复选框和使用 php 计算价格

多个复选框和使用 php 计算价格

PHP
侃侃尔雅 2022-08-19 10:43:41
我在数据库数据库中有表服务。它有3个字段id,service_type,金额。我有html表单,其中有复选框来选择服务类型,我选择了服务类型,但金额必须自动计算并存储在数据库金额列中。但是当我从复选框中选择服务时,一个错误被选中并存储在数据库中,但价格未存储。我的脚本如下:       <input type="checkbox" name="services[]" value="oilchange"       <input type="checkbox" name="services[]" value="acrepair"       <input type="checkbox" name="services[]" value="tyrechange"     <input type="submit" name="btnservice"  value="Confirm Services">现在php脚本如下:<?php $price=0.0;if (isset($_POST['services'])) {$service=$_POST['services'];$c=count($service);for ($i=0; $i < $c; $i++) {      if ($service[$i]==fullservice) {        $price=$price+5000;        $iq="INSERT INTO tblservices( amount) VALUES ('$price')";        $run=mysqli_query($con,$iq);        if ($run) {        }     }      elseif ($service[$i]==tyrebalance) {         # code...        $price=$price+4000;        $iq="INSERT INTO tblservices( amount) VALUES ('$price')";        $run=mysqli_query($con,$iq);        if ($run) {        }     }      elseif($service[$i]==oilchange) {         # code...        $price=$price+3000;        $iq="INSERT INTO tblservices( amount) VALUES ('$price')";        $run=mysqli_query($con,$iq);        if ($run) {        }     }      elseif ($service[$i]==acrepair) {         # code...        $price=$price+2000;        $iq="INSERT INTO tblservices( amount) VALUES ('$price')";        $run=mysqli_query($con,$iq);        if ($run) {        }     }      elseif ($service[$i]==tyrechange) {         # code...        $price=$price+1000;        $iq="INSERT INTO tblservices( amount) VALUES ('$price')";        $run=mysqli_query($con,$iq);        if ($run) {        }     }}}我是新人对不起,这就是为什么我不能上传图像,我需要赢得声誉,所以我可以发布图像,以便更好地或详细解释我的问题。
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

我可以在您的示例中看到两种类型的查询。在这里共享单个服务类型插入和插入与总价格。希望这有帮助!!


<div class="container">

    <form action="" method="post">

        <input type="checkbox" name="services[]" value="oilchange"  />oilchange

        <input type="checkbox" name="services[]" value="acrepair"  />acrepair

        <input type="checkbox" name="services[]" value="tyrechange" />tyrechange

        <br/>

        <input type="submit" name="btnservice"  value="Confirm Services">

    </form> <?php

    $serviceChargeArr = array(

        'fullservice' => 5000,

        'tyrebalance' => 4000,

        'oilchange' => 3000,

        'acrepair' => 2000,

        'tyrechange' => 1000

    );

    $priceTotal = 0.0;

    if (isset($_POST['btnservice'])) {    

        if (isset($_POST['services'])) {

            $serviceArr    = $_POST['services'];

            $serviceArrCnt = count($serviceArr);


            //QUERY 1 - insert each with respect to clicked checkboxes

            for ($i = 0; $i < $serviceArrCnt; $i++) {

                if ($eachPrice = $serviceChargeArr[$serviceArr[$i]]) {

                    $insertArr[] = "('$serviceArr[$i]', '$eachPrice')";

                }

            }

            if (!empty($insertArr)) {//sigle insert query -each service and its price will be inserted

                $query="insert into tblservices (service_type, amount)

                        values".implode(", ",$insertArr ).";";

                echo $query."<br/>";

            }//QUERY 1 ENDS


            //QUERY 2 - insert single row with comma separated values and total price

            for ($i = 0; $i < $serviceArrCnt; $i++) {

                if ($eachPrice = $serviceChargeArr[$serviceArr[$i]]) {

                    $priceTotal += $eachPrice;

                }

            }

            if (!empty($serviceArr)) {

                $seviceList = implode(',', $serviceArr);

                $query="insert into tblservices (service_type, amount)

                        values ('{$seviceList}' , '{$priceTotal}') ;";

                echo $query."<br/>";

            }//QUERY 2 ENDS


            if($query) {

                $run = mysqli_query($con, $query);

                if ($run) {

                    echo "<br/> SUCCESS : inserted";

                } else {

                    echo "<br/> ERROR : try again<br/>Mysql Error: ".$con->error;

                }

            }

        }

    }  ?>

</div>


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信