如何将动态表的用户插入值从html转换为PHP

时间:2015-12-28 13:28:31

标签: php

我是php.I made和html Dynamic Table的新手,其中有2个动态生成的字段 每次用户按下添加/删除按钮时:

图片示例如下:

enter image description here

这里的html代码如下:

<!DOCTYPE html>
<html>
   <head>
      <style>
         table, th, td {
         border-collapse: collapse;
         }
      </style>
      <script>
         function addMore() {
             var table = document.getElementById("myTable");
             var row = table.insertRow(-1);
             var cell1 = row.insertCell(-1);
             var cell2 = row.insertCell(-1);
         
         var x = document.getElementById("myTable").rows[1].cells;
            
             cell1.innerHTML =  x[0].innerHTML;
             cell2.innerHTML = x[1].innerHTML;
         }
         
         
         function removeLast() {
             document.getElementById("myTable").deleteRow(-1);
         }
         
      </script>
   </head>
   <body>
      <form  action="data.php" method="post">
         <table id="myTable">
            <tr>
               <th>Options</th>
               <th>User Input</th>
            </tr>
            <tr>
               <td>
                  <select class="mySelect" name="DESCR" >
                     <option  disabled="" selected="">Select</option>
                     <option  value="1">A</option>
                     <option  value="2">B</option>
                     <option  value="3">C</option>
                     
                     
                  </select>
               </td>
               <td> <input type="text" name="ALAMT"></td>
            </tr>
         </table>
         
      </form>
      <br>
      <button onclick="addMore()">Add New</button>
      <button onclick="removeLast()">Remove</button>
      <button onclick="myFunction()">Try it</button>
   </body>
  
</html>

选择选项并在此表中输入vaules后,我想使用$_POST[ ]将其数据提交到php 因为它们是动态的,所以它将是耗时的。为每个人维护唯一名称或Id的效率低下 所以,我应该用什么代码在php中写这样做。请告诉我任何进一步的信息。谢谢

1 个答案:

答案 0 :(得分:1)

每次都必须将数组作为新添加字段的名称。并找到数组计数和make循环并获取值并将该值放入插入查询中。

使用此脚本添加整个文本框

<script type="text/javascript">
        $(document).ready(function () {
            $('.add_more').live('click', function () {
                $(this).before('<div class="one del"> <div class="two"><label class="label" for="name">Title:</label><input type="text" class="validate[required]" value="" name="caption[]" /></div><div class="two"><label class="label" for="name">Value:</label><input type="text" class="validate[required]" value="" name="values[]"/></div><i class="fa fa-trash-o add_del"></i></div>');
            });
            $('.add_del').live('click', function () {
                $(this).parent().remove()
            });
        });

    </script>

然后

     for ($i = 0; $i < count($_POST['caption']); $i++) {
        $caption = $_POST['caption'][$i];
        $sp_values = $_POST['values'][$i];

    $sql1 = "INSERT INTO `sub_project` (`parent`, `sp_title`, `sp_values`) VALUES ('$insert', '$caption', '$sp_values')";
        $insert1 = $obj_db->sqlquery($sql1);

}

希望这能帮到你