【发布时间】:2019-01-08 11:13:40
【问题描述】:
我有一个包含多个选择列表的表单。表单中有多个选择列表(块)。如何将多选数据提交到数据库?
我尝试创建一个 foreach 语句,但问题是它只在数据库中提交一个选项。
<?php
$db = mysqli_connect('localhost','root','','trial') or die($db);
if (isset($_POST['submit'])) {
$marks = mysqli_real_escape_string($db,$_POST['marks']);
$subjects= $_POST['subject'];
$farming= $_POST['farming'];
foreach ($subjects as $i) {
$subject = $i;
$sql = "INSERT INTO `trial_table` (`subjects`, `marks`) VALUES ('".mysqli_real_escape_string($db,$subject)."', '$marks')";
mysqli_query($db,$sql);
}
$sql1 = "INSERT INTO `trial_table` (`marks`) VALUES ('$marks')";
mysqli_query($db,$sql1);
}
?>
<body>
<form method="POST" action="test.php">
<select id="multiselect" name="farming[]" multiple="multiple" required>
<option value="Irrigation">Irrigation</option>
<option value="Fertilizer">Fertilizer</option>
<option value="Pesticide">Pesticide</option>
</select>
<select id="multiselect" name="subject[]" multiple="multiple" required>
<option value="Irrigation">Technology</option>
<option value="Fertilizer">Science</option>
</select>
<div class="input-group">
<label>Marks</label>
<input type="number" name="marks">
</div>
<button type="submit" name="submit" class="btn">SUBMIT</button>
</form>
</body>
</html>`enter code here`
我希望表单能够将选定的数据提交给数据库,而不仅仅是一个。
【问题讨论】:
-
您在
$_POST['farming'];和$_POST['subject'];中的数据是什么? -
是的,它们都是来自不同的多重选择列表的数据,分别是farming[]和subject[]
-
请附上您的问题的 print_r 结果,
-
我怎样才能附上我很抱歉如果我可以问
-
这样做 print_r($_POST['subject']);然后在您的页面中,您可以看到一些数据副本并在此处粘贴它们