简体   繁体   English

通过PHP在表中动态插入行

[英]dynamic row insertion in table through php

I have 3 rows. 我有3行。 Which are dynamic created. 是动态创建的。 If we click on add more then all are three fields create dynamically. 如果单击添加更多,则所有三个字段都是动态创建的。 It is properly working. 它工作正常。

But I want to insert these fields in to table through mysql query dynamically. 但是我想通过mysql查询将这些字段动态插入表中。 I tried but it s not working. 我试过了,但是没有用。 please help anyone to solve it. 请帮助任何人解决它。 Thankyou. 谢谢。

    <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" />

I couldn't find where you named your input fields. 我找不到您在哪里命名输入字段。

Name your submitted input fields according to the array you want to retrieve from the $_POST parameter. 根据要从$ _POST参数检索的数组命名提交的输入字段。

<input name="dynfields[]"/>

The Brackets tell PHP that a submitted value is part of an array. 方括号告诉PHP提交的值是数组的一部分。 In your edited question the HTML would be like this. 在您编辑的问题中,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>
(...)

After submitting the form you should be able to access 3 separate arrays: 提交表单后,您应该可以访问3个单独的数组:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM