В приведенном ниже коде успешно отображаются 3 записи.
Вот моя проблема. Когда я нажимаю кнопку отправки, чтобы отправить данные в базу данных, только первый ввод формы, содержащий Имя (Joe) и фамилия (Deo) , отправляется и вставляется в базу данных, а остальные 2 записи не подает. Как я могу обеспечить отправку всех трех строк записей во входных данных формы?
index. html
<!doctype html>
<html>
<head>
<script src="jquery.min.js"></script>
</head>
<body>
<h1>Send Record</h1>
<div id="record"></div>
<div id="record_btn"></div>
<script>
var json = [{
"firstName": "John",
"lastName": "Doe"
}, {
"firstName": "Anna",
"lastName": "Smith"
}, {
"firstName": "Peter",
"lastName": "Jones"
}];
$(document).ready(function(){
var len = json.length;
for(var i=0; i<len; i++){
var firstname = json[i].firstName;
var lastname = json[i].lastName;
var tr_str = "<div>" +
"<td align='center'>" + (i+1) + "</td>" +
"<input type='text' id='firstname' name='firstname' value="+ firstname +">" +
"<input type='text' id='lastname' name='lastname' value="+ lastname +">" +
//"<td align='center'><button id='send1' name='send1'>submit individually</button></td>" +
"</div>";
$("#record").append(tr_str);
}
$('#record_btn').html("<button id='send2' name='send2'>submit All</button>");
});
// submit form
$(document).ready(function(){
$('#send2').click(function(){
//$(document).on( 'click', '#send1', function(){
//$(document).on( 'click', '#send2', function(){
var firstname = $('#firstname').val();
var lastname = $('#lastname').val();
alert(firstname);
alert(lastname);
if(firstname ==''){
alert('empty');
}
else{
var rec = "firstname="+ firstname + "&lastname=" + lastname;
$.ajax({
type:'POST',
url:'insert.php',
data:rec,
cache:false,
success:function(data){
alert('Record Inserted Successfully.');
}
});
}
})
});
</script>
</body>
</html>
insert. php
<?php
// pdo_connect.php
$st = $db->prepare('INSERT INTO users(firstname,lastname) values (:firstname,:lastname)');
$st->execute(array(
':firstname' => $_POST["firstname"],
':lastname' => $_POST["lastname"],
));
/*
foreach ($_POST["firstname"] as $key => $value) {
$st = $db->prepare('INSERT INTO users(firstname,lastname) values (:firstname,:lastname)');
$st->execute(array(
':firstname' => $_POST["firstname"],
':lastname' => $_POST["lastname"],
));
}
*/
?>