我试图找到一个解决方案,使用相同的文本框名称在我的数据库中添加多个值,但我不能。我不确切知道是否有解决方案 请参阅以下代码。
<form action="" method="post">
<?php
if(isset($_POST['pats'])){
$pats = $_POST['pats'];
mysql_query("INSERT INTO trainings(pats) VALUES ('$pats')") or die(mysql_error());
}
?>
<input type="text" name="pats" placeholder="Pats">
<input type="text" name="pats" placeholder="Pats">
<input type="text" name="pats" placeholder="Pats">
<input type="text" name="pats" placeholder="Pats">
<input type="text" name="pats" placeholder="Pats">
<input type="submit" name="insert" value="Add">
</form>
答案 0 :(得分:0)
答案 1 :(得分:0)
将[]添加到输入元素的name属性中,然后它们将作为数组发送到服务器。
如果您想在不同的行中添加值:
在你的后端,你可以迭代你收到的数组,检查相应的键上是否有实际值并将其插入数据库。
我添加了mysql_real_escape_string(),但您不应该使用此代码,因为它仍然容易受到sql注入攻击。请参阅此答案:https://stackoverflow.com/a/60496/3595565
<form action="" method="post">
<?php
if(isset($_POST['pats'])){
foreach ($_POST['pats'] as $pats) {
if(!empty($pats)){
mysql_query("INSERT INTO trainings(pats) VALUES ('" . mysql_real_escape_string($pats) . "')") or die(mysql_error());
}
}
}
?>
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="submit" name="insert" value="Add">
</form>
答案 2 :(得分:-1)
使用您的输入元素名称
<form action="" method="post">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="submit" name="insert" value="Add">
</form>
答案 3 :(得分:-1)
在你的html中,你可以传入一个名为..
的数组<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
<input type="text" name="pats[]" placeholder="Pats">
注意名称中的[],这些被称为HTML输入数组。这样php就会收到一组pats ..
<?php
if (isset($_POST['pats'])) {
implode(',',$pats = $_POST['pats']);
mysql_query("INSERT INTO trainings(pats) VALUES ('$pats')") or die(mysql_error());
}
?>
您可以使用implode()
函数将数组转换为带分隔符的单个字符串