通过php在表中动态插入行

时间:2016-06-26 09:16:15

标签: php jquery mysql

我有3行。哪些是动态创建的。如果我们点击添加更多,那么所有三个字段都是动态创建的。它运作正常。

但我想通过mysql查询动态地将这些字段插入到表中。我试过但它不起作用。请帮助任何人解决它。三江源。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
     <script type="text/javascript">
    var rowCount = 1;

     window.addMoreRows = function(frm) {
     rowCount++;
        var recRow = '<div id="rowCount' + rowCount + '"><div class="col-sm-3 text-left">College Name:</div><div class = "col-sm-9"><input type="text" name = "collegename[]" placeholder = "College Name" class = "form-control"/></div><div class = "col-sm-3 text-left" > Affiliated University: </div><div class = "col-sm-9" ><input type = "text" name = "univ[]" placeholder = "Affiliated University" class = "form-control" / > </div><div class = "col-sm-3 text-left" > Course Name: </div> <div class = "col-sm-9" ><input type = "text" name = "cname[]" placeholder = "Course Name" class = "form-control"/></div><div class = "col-sm-3 text-left" > Major & Subject: </div><div class = "col-sm-9"><input type = "text" name = "msub[]" placeholder = "Major Subject" class = "form-control"/></div><div class = "col-sm-3 text-left"> Final & Percentage: </div><div class = "col-sm-9"><input type = "text" name = "fper[]" placeholder = "Final Percentage" class = "form-control"/></div><a href = "javascript:void(0);" onclick = "removeRow (' + rowCount + ');" >Delete</a></div> ';
$('#addedRows').append(recRow);
 }
 window.removeRow = function(removeNum) {
  $('#rowCount'+removeNum).remove();
 }
  </script>
  <?php
   extract($_POST);
     if (isset($_POST['submit_val'])) {
    if ($_POST['dynfields']) { 
   foreach (array_keys($dynfields) as $key) {
  $txt = $dynfields[$key];
  $txt1 = $univ[$key];
  $txt2 = $cname[$key];
  $txt3 = $msub[$key];
 $txt4 = $fper[$key];
   $query = mysql_query("INSERT INTO dynamicfield VALUES ('','','$txt','$txt1','$txt2','$txt3','$txt4')");

  }
   }
     echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>";
  mysql_close();
   }
    ?>
       <form action="" method="post" id="addedRows">
         <h5 align="left"><u style="color:#449D44;">Other Studies</u>-<span style="font:normal 12px agency, arial; color:blue; text-decoration:underline; cursor:pointer;" onclick="addMoreRows(this.form);">Add More Other Studies</span></h5>
    <span  id="rowId">
     <div class="col-sm-3 text-left">College&nbsp;Name: </div>
      <div class="col-sm-9"><input type="text" name="dynfields[]" placeholder="College Name" class="form-control" /></div>

<div class="col-sm-3 text-left">Affiliated&nbsp;University: </div>
<div class="col-sm-9"><input type="text" name="univ[]" placeholder="Affiliated University" class="form-control" /></div>
<div class="col-sm-3 text-left">Course&nbsp;Name: </div>
<div class="col-sm-9"><input type="text" name="cname[]" placeholder="Course Name" class="form-control" /></div>
<div class="col-sm-3 text-left">Major&nbsp;Subject: </div>
<div class="col-sm-9"><input type="text" name="msub[]" placeholder="Major Subject" class="form-control" /></div>
<div class="col-sm-3 text-left">Final&nbsp;Percentage: </div>
<div class="col-sm-9"><input type="text" name="fper[]" placeholder="Final Percentage" class="form-control" /></div>
</span>
<input type="submit" name="submit_val" value="Submit" />

1 个答案:

答案 0 :(得分:0)

我无法找到您为输入字段命名的位置。

根据要从$ _POST参数中检索的数组命名提交的输入字段。

<input name="dynfields[]"/>

Brackets告诉PHP提交的值是数组的一部分。 在您编辑的问题中,HTML就是这样的。

<tr>
    <td><input name="dynfields[]"  type="text"  value="" size="17%"/></td>
    <td><input name="dynfields1[]" type="text"  value="" /></td>
    <td><input name="dynfields2[]" type="text"  value="" /></td>
</tr>
<tr>
    <td><input name="dynfields[]"  type="text"  value="" size="17%"/></td>
    <td><input name="dynfields1[]" type="text"  value="" /></td>
    <td><input name="dynfields2[]" type="text"  value="" /></td>
</tr>
(...)

提交表单后,您应该能够访问3个独立的数组:

$_POST['dynfields'];
$_POST['dynfields1'];
$_POST['dynfields2'];