如何在php中循环多个动态输入字段以将它们插入mysql表中?
我的mySql数据库中有一个名为item的表,其中的列名为item和price。在jquery中,我使用了一个按钮来生成输入多个项目及其价格的字段。但是,通过输入循环分别插入它们的php代码应该是什么呢?喜欢价格为1的项目1 像这样的东西如何在php中循环多个动态输入字段以将它们插入mysql表中?,php,mysql,Php,Mysql,我的mySql数据库中有一个名为item的表,其中的列名为item和price。在jquery中,我使用了一个按钮来生成输入多个项目及其价格的字段。但是,通过输入循环分别插入它们的php代码应该是什么呢?喜欢价格为1的项目1 像这样的东西 数据存储异常,请更改item表,使其具有自动递增ID列和item name and item price列 更改foreach循环中的代码以反映表的更改 清理SQL查询的方法不是最好的方法,您正在使用mySQLi连接到数据库,因此请使用类的内置函数来创建。您
数据存储异常,请更改item表,使其具有自动递增ID列和item name and item price列 更改foreach循环中的代码以反映表的更改
清理SQL查询的方法不是最好的方法,您正在使用mySQLi连接到数据库,因此请使用类的内置函数来创建。您是否可以创建一个包含自动递增ID列、项目名称和项目价格列的项目表?您还可以删除if$\u POST['item']后面的else语句。您能举一个例子,说明我应该如何使用您建议的已更改的表结构编写foreach循环吗?非常感谢你的帮助。我尝试过这样的东西-foreacharray\u combine$\u POST['item\u name'],$\u POST['item\u price']作为$iname=>iprice{$a=mysql\u real\u escape\u string$iname;$b=mysql\u real\u escape\u string$iprice;$sql=mysql\u查询插入到item\u name,item\u price值中。$a.,'.$b.“;”它以某种方式起作用,但我不确定我是否用正确的方式。你不需要这样做,你检查了我答案中的链接了吗?@RajibBiswas检查了我给出的链接,并提供了一个尝试性的解决方案,我们可以从那里帮助你。
<script>
$(document).ready(function() {
var count = 0;
$('p#add_field').click(function(e) {
e.preventDefault();
count += 1;
$('#container').append(
'Item: <input type="text" id="item_' + count + '" name="item[]' + '"/>\n\
Unit price: <input type="text" id="price_' + count + '" name="price[]' + '"/><br>'
);
});
});
</script>
<?php
if (isset($_POST['btnSubmit'])) {
if ($_POST['item']) {
foreach ($_POST['item'] as $key => $value) {
$sql_item = sprintf("INSERT INTO item (item) VALUES ('%s')", mysql_real_escape_string($value));
$result_item = $db->query($sql_item);
}
}
echo "<h1>User Added, <strong>" . count($_POST['fields']) . "</strong> item(s) added for this user!</h1>";
$db->kill();
}
?>
<?php if (!isset($_POST['btnSubmit'])) { ?>
<form action="" method="POST">
<div id="container">
<label>Available items</label>
<p id="add_field"><button type="button" href="#">Add new item</button></p>
</div>
<button type="submit" name="btnSubmit">Save items</button>
</form>
<?php } ?>