我有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 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 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>
</span>
<input type="submit" name="submit_val" value="Submit" />
答案 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'];