Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中循环多个动态输入字段以将它们插入mysql表中?_Php_Mysql - Fatal编程技术网

如何在php中循环多个动态输入字段以将它们插入mysql表中?

如何在php中循环多个动态输入字段以将它们插入mysql表中?,php,mysql,Php,Mysql,我的mySql数据库中有一个名为item的表,其中的列名为item和price。在jquery中,我使用了一个按钮来生成输入多个项目及其价格的字段。但是,通过输入循环分别插入它们的php代码应该是什么呢?喜欢价格为1的项目1 像这样的东西 数据存储异常,请更改item表,使其具有自动递增ID列和item name and item price列 更改foreach循环中的代码以反映表的更改 清理SQL查询的方法不是最好的方法,您正在使用mySQLi连接到数据库,因此请使用类的内置函数来创建。您

我的mySql数据库中有一个名为item的表,其中的列名为item和price。在jquery中,我使用了一个按钮来生成输入多个项目及其价格的字段。但是,通过输入循环分别插入它们的php代码应该是什么呢?喜欢价格为1的项目1 像这样的东西


数据存储异常,请更改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 } ?>