亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多個復選框和使用 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 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號