Php 如何将附加的输入字段数据插入mySQL数据库?
我将一些输入字段附加到容器中,并希望在mysql数据库中为每个字段添加一个条目。到目前为止,这项工作进展顺利:Php 如何将附加的输入字段数据插入mySQL数据库?,php,jquery,mysql,append,Php,Jquery,Mysql,Append,我将一些输入字段附加到容器中,并希望在mysql数据库中为每个字段添加一个条目。到目前为止,这项工作进展顺利: <?php if (isset($_POST['submit_val'])) { if ($_POST['name']) { foreach ( $_POST['name'] as $key=>$value ) { $pdo = $db->prepare('INSERT INTO friends (name) value
<?php
if (isset($_POST['submit_val'])) {
if ($_POST['name']) {
foreach ( $_POST['name'] as $key=>$value ) {
$pdo = $db->prepare('INSERT INTO friends (name) values(:name) ');
$pdo->execute(array(
':name' => $value,
));
}
}
echo "<i><h2><strong>" . count($_POST['name']) . "</strong> items added</h2></i>";
}
?>
<?php if (!isset($_POST['submit_val'])) { ?>
<form method="post" action="">
<div id="container">
<p id="add_field"><a href="#"><span>Click To Add</span></a></p>
</div>
<input type="submit" name="submit_val" value="Submit" />
</form>
<?php } ?>
<script type="text/javascript">
var counter = 0;
$(function() {
$('p#add_field').click(function() {
counter += 1;
$('#container').append(
'<strong>No. ' + counter + '</strong><br />' + '<input id="field_' + counter + '" name="name[]' + '" type="text" /><br/>');
});
});
</script>
并将它们添加到数据库中:
$pdo = $db->prepare('INSERT INTO friends (name,age,gender) values(:name,:age,:gender) ');
$pdo->execute(array(
':name' => $value,
':age' => $value,
':gender' => $value,
));
但现在我有一个理解的逻辑问题。我如何将其他值放入我的foreach循环foreach($\u POST['name']as$key=>$value){
,因为我需要一个循环将所有值放在一起
我可以想象这样的情况:
foreach($\u POST['name']as$key=>$name&&$\u POST['age']as$key=>$age&&$\u POST['gender']as$key=>$gender){
假设所有三个字段的出现次数相同,您可以使用:
foreach($_POST['name'] as $key=>$val){
echo $val." ".$_POST['age'][$key]." ".$_POST['gender'][$key]."<br>";// you can use these value in your insert
}
foreach($\u POST['name']作为$key=>$val){
echo$val.“”.$\u POST['age'][$key]。“”.$\u POST['gender'][$key]。“
”;//您可以在插入中使用这些值
}
foreach($_POST['name'] as $key=>$val){
echo $val." ".$_POST['age'][$key]." ".$_POST['gender'][$key]."<br>";// you can use these value in your insert
}