我已经为动态字段组合了一个测试表单,我在将值存入数据库时遇到问题,我很确定错误是在语法中。特别是因为网页甚至不起作用,直到我删除我的PHP代码。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(e){
/// Variables
var html ='<p /><div>Make: <input type="TEXT" name="childmake[]" id="make" />Model: <input type="TEXT" name="model[]" id="childmodel" />Serials: <input type="TEXT" name="[]serials" id="childserials"/><a href="#" id="remove">X</a></div>';
var maxRows = 20;
var x = 1;
/// Rows
$("#add").click(function(e){
if (x <= maxRows){
$("#container").append(html);
x++;
}
});
/// Remove Rows
$("#container").on('click','#remove', function(e){
$(this).parent('div').remove();
x--;
});
});
</script>
</head>
<form method="POST">
<div id="container">
Make: <input type="TEXT" name="make[]" id="make" />
Model: <input type="TEXT" name="model[]" id="model" />
Serials: <input type="TEXT" name="serials[]" id="serials"/>
<a href="#" id="add">Add More</a>
</div>
<p />
<input type="submit" name="submit" />
</form>
<?php
//placeholder
$output = NULL;
if(isset($_POST['submit'])) {
$make = $_POST['make'];
$model = $_POST['model'];
$serials = $_POST['serials'];
$databasename="jos_trip_detail"
$mysql = mysql_connect('server','user','pass');
$db = mysql_select_db($databasename);
for($i=0; $i<count($make); $i++){
if($make[$i]!="" && $model[$i]!="" && $serials[$i]!="")
{
mysql_query("INSERT into jos_trip_detail VALUES('$make[$i]','model[$i]','serials[$i]')");
}
}
$msyql->close();
}
?>
<?php echo $output; ?>
</body>
</html>
答案 0 :(得分:-1)
您的语法错误。您应该使用分号终止以下行:
$databasename="jos_trip_detail"
变为
$databasename="jos_trip_detail";
除了评论中提到的内容:
mysql_query("INSERT into jos_trip_detail VALUES('$make[$i]','model[$i]','serials[$i]')");
变为
mysql_query("INSERT into jos_trip_detail VALUES('$make[$i]','$model[$i]','$serials[$i]')");