doubi6669 2017-08-16 10:59
浏览 98

通过php将多行插入mysql

I want to add some static row and multiple row same time into mysql as well as invoice. I can add row into mysql. But when I add multiple row then insert first row all field fully but not insert all field from other row , only insert dynamic field into mysql. For example specification ,qty insert well but pur ,appb,date,appn not insert from second row. Could any one help me. My code are below...

<form action="ps.php"  method="POST"> 
      <table id="customers">
      <tr>
      <td>Project/Purpose</td><td><input type="text" name="pur[]" required="required"  /></td>
      <td>Approved Budget:</td><td><input type="text" name="appb[]" required="required"  /></td>
      </tr>
       <tr>
      <td>Expected Delivery Date:</td><td><input type="date" name="expdate[]"  required="required" /></td>
       </tr>

      <td>Approve by:</td><td><input type="text" name="appn[]"  required="required" /></td>
      </tr>
      </table>

      <fieldset style="background-color:#00FFFF"><h2>Purchase Information</h2></fieldset>


   <div id="page-wrap">
  <table id="customers">

          <tr>
              <th>Goods/Services(include description and specifications)</th>
              <th>Qty Required(Goods only)</th>
              <th>Qty on Hand(Goods only)</th>            
              <th>Qty to Order</th>
              <th>Est. Unit Price</th>
              <th>Total Estimated Cost</th>
          </tr>

          <!-- add remove row dynamically -->  
          <tr class="item-row">
              <td class="item-name"><div class="delete-wpr"><a class="delete" href="javascript:;" title="Remove row">X</a><textarea class="noscrollbars" name="specification[]" onkeyup="autoGrow(this);"></textarea></div></td>
              <td ><input type="number" name="" /></td>
              <td ><input type="number" name="" /></td>
              <td><input type="number" class="qty" name="qty[]" /></td>
              <td><input type="number" class="cost" name="esp[]" /> </td>

              <td><span class="price">0.00</span></td>
          </tr>

           <!-- add remove row dynamically -->

           <tr class="item-row">
              <td class="item-name"><div class="delete-wpr"><a class="delete" href="javascript:;" title="Remove row">X</a><textarea class="noscrollbars" name="specification[]" onkeyup="autoGrow(this);"></textarea></div></td>
              <td ><input type="number" name="" /></td>
              <td ><input type="number" name="" /></td>
              <td><input type="number" class="qty" name="qty[]" /></td>
              <td><input type="number" class="cost" name="esp[]" /> </td>
              <input type="hidden" name="empid[]" value='<?php echo $empid;?>' />
              <td><span class="price">0.00</span></td>

          </tr>

          <tr id="hiderow">
            <td colspan="6"><a id="addrow" href="javascript:;" title="Add a row">Add a row</a></td>
          </tr>

          <tr>
              <td colspan="4" class="blank"> </td>
              <td colspan="1" class="total-line">Total</td>
              <td class="total-value"><div id="total">0.00</div></td>
          </tr>
          <tr>
              <td colspan="4" class="blank"> </td>
              <td colspan="1" class="total-line"><input type="submit" name="submit" value="Submit" /></td>

              <td class="blank"><textarea id="paid" style="display:none;" ></textarea></td>
          </tr>

      </table>



    </div>



  </form>

ps.php

if(isset($_POST)==true && empty($_POST)==false): 
                $pur = $_POST['pur'];           
                $appb=$_POST['appb'];
                $expdate=$_POST['expdate'];         

                $appn=$_POST['appn'];
                $specification=$_POST['specification'];                 
                $qty=$_POST['qty'];
                $esp=$_POST['esp'];                             
                $empid=$_POST['empid']; 

                foreach($qty as $a => $b){                   



                    $result = mysqli_query($mysqli, "INSERT INTO `pr`(`pur`, `empid`, `appb`, `expdate`, `appn`, `specification`, `qty`, `esp`) VALUES ('$pur[$a]','$empid[$a]','$appb[$a]','$expdate[$a]','$appn[$a]','$specification[$a]','$qty[$a]','$esp[$a]')");       

                    } 

                    echo "Your entry has been successfully recorded, Thank you!";       
            else:  echo "Some things went wrong please try again";  
            endif;
  • 写回答

2条回答 默认 最新

  • dongtanxi5676756 2017-08-16 11:09
    关注

    Just make the with the field name and use implode function while inserting data.

    For example:

        $data['name'] = 'abc';
        $data['description'] = 'description';
        $data['created'] = date("Y-m-d H:i:s");
    

    Query:

         $fields = array_keys($data);
            $sql = "INSERT INTO table_name . (`" . implode('`,`', $fields) . "`) 
                    VALUES('" . implode("','", $data) . "')";
    
    评论

报告相同问题?

悬赏问题

  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入