gpt4 book ai didi

php - 在表单上添加另一个项目/行,插入数据库

转载 作者:行者123 更新时间:2023-11-29 13:58:49 25 4
gpt4 key购买 nike

add another item

这两个字段被插入到数据库中。但是,我想赋予用户“添加另一个项目”的能力。理想情况下,他们应该能够添加任意数量的项目。当他们提交表单时,数据将被插入到 mysql 表中。

我怎样才能做到这一点?在我的数据库中创建 10 个额外列来容纳添加的额外项目听起来既不现实也不理想。

感谢您的帮助!

这是我的代码片段,我将数据插入数据库:

if ($stmt = $mysqli->prepare("INSERT items (number, description) VALUES (?, ?)"))
{
$stmt->bind_param("ss", $number, $description);
$stmt->execute();
$stmt->close();
}

最佳答案

这是一个非常复杂的问题,但有一些非常简单的解决方案。首先,您需要更改用于处理可变数量项目的后端 PHP 脚本。

例如,现在,您可能有类似的内容:

$item_number = $_POST['item_number'];
$item_description = $_POST['item_description'];
add_item_to_db($item_number, $item_description);

您需要更改代码来处理项目数组:

$item_numbers = $_POST['item_number'];
$item_descriptions = $_POST['item_description'];
// validate that count($item_numbers) == count($item_descriptions)
for ($i = 0; $i < count($item_numbers); $i++) {
add_item_to_db($item_numbers[$i], $item_descriptions[$i]);
}

您需要执行上面未显示的大量错误处理。如果用户输入的 item_numbers 数量与 item_descriptions 数量不同,您必须确定如何处理。此外,任何字段都可以为空。有些情况可能是错误,其他情况可能不是。

您必须更改 HTML:

<input type="text" name="item_number[]" />
<input type="text" name="item_description[]" />

请注意名称中的[]。这为每个值指定了一个数组。

最后,当用户按下添加另一个项目链接时,您需要在屏幕上动态添加一组新的输入项目。我建议为此使用 jQuery。要实现此目的,您需要执行以下操作:

jQuery('<input type="text" name="item_number[]" /><input type="text" name="item_description[]" />').appendTo('#someDiv');

确保新的 input 元素附加到表单元素内。显然,还有很多代码需要编写。这只是概念的基本示例。

关于php - 在表单上添加另一个项目/行,插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15396962/

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