Remove 我正在添加更多行或通过 JQ-6ren">
gpt4 book ai didi

php - 发布动态输入表单并获取数组

转载 作者:行者123 更新时间:2023-11-29 18:35:43 25 4
gpt4 key购买 nike

我的动态输入表单有问题。用于我们的新管理门户(我们可以在那里管理我们的膳食和饮料)所以动态形式看起来像这样:

   ...Add Row</button>
<br />
<div class="rowFields<?= $id; ?>">
<div>
<input type="text" name="newMealName[]" placeholder="Name" style="width:30%"/>
<input type="text" name="newMealDescription[]" placeholder="Description" style="width:50%" />
<input type="number" step="0.01" name="newMealPrice[]" placeholder="0.01" style="width:15%" />
<a href="#" id="remove_row">Remove</a>
</div>
</div>

我正在添加更多行或通过 JQuery 删除它们 - 效果很好。我正在使用我的 Ajax 脚本传递表单,我也将其用于数据库的其他插入 - 这有效!

我的 PHP 插入脚本如下所示:

<?php
...

$nameArray = $_POST['newMealName'];
$descriptionArray = $_POST['newMealDescription'];
$priceArray = $_POST['newMealPrice'];

$sqlAddNewMeals = $db->prepare("insert into tableX(name, description, price) values(?, ?, ?)");

for($i = 0; $i<sizeof($nameArray); $i++)
{
$sqlAddNewMeals->bind_param('ssd', $_POST['newMealName'][$i], $_POST['newMealDescription'][$i], $_POST['newMealPrice'][$i]);
$sqlAddNewMeals->execute();
}

$sqlAddNewMeals->close();
?>

我尝试过使用

$sqlAddNewMeals->bind_param('ssdi', $nameArray[$i],... 

但这也不起作用。我还有最后一个想法,但想在这样做之前与您讨论一下:我是否必须绑定(bind) $name、$description 等参数并使用这样的 for 循环:

forloop {
$name=$nameArray[1];
...
$sql->execute(); }

提前致谢,pl44

编辑1:AJAX传递表单

$(function () {

$("button#addNewMeals").click(function () {
var menu_id = $(this).val();
$.ajax({
type: "POST",
url: "XXX/add-new-menu.php",
data: $('form.manageMenu-'+menu_id).serialize(),
success: function () {
alert("Added.");
},
error: function () {
alert("failure");
}
});
});
});

最佳答案

<?php
$nameArray = $_POST['newMealName'];
$descriptionArray = $_POST['newMealDescription'];
$priceArray = $_POST['newMealPrice'];
$sqlAddNewMeals = $db->prepare("insert into tableX(name, description, price) values(?, ?, ?)");
$param = array();
for($i = 0; $i<sizeof($nameArray); $i++)
{
$param[$i]['newMealName'] = $_POST['newMealName'][$i];
$param[$i]['newMealDescription'] = $_POST['newMealDescription'][$i];
$param[$i]['newMealPrice'] = $_POST['newMealPrice'][$i];
}

print_r($param);

?>

关于php - 发布动态输入表单并获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com