首页 > 解决方案 > 如何将多项选择数据作为数组发布到mysql数据库表

问题描述

我想将多选(select2 表单)数据中的数据作为数组发布到 mysql 数据库表

这是我的多项选择表单数据

<select name="category" class="select2 select2-multiple" multiple="multiple"
 multiple data-placeholder="Choose ...">

<option value="1">Category 1</option>
<option value="2">Category 2</option>
<option value="3">Category 3</option>
</select>

<input type="submit" name="submit" value="Create Category"
class="btn btn-primary" class="btn btn-primary form-control">

这是我的php 脚本

if(isset($_POST['submit'])){
$category = $_POST['category'];

$insert = "insert into sub_category(category) values ($category)";
//then mysql connection and other code
}

假设我选择13值。当我尝试发布选定的数据时,它只发布到数据库表的最后一个值并发布到列为3但我想将数据发布为“1”、“3”

标签: phpmysqlarraysdatabasemultipleselection

解决方案


我从这个链接中找到了我的答案How To Insert data to database from multiple select list using PHP an MySQL

表格代码

<select name="category[]" class="select2 select2-multiple" multiple="multiple"
 multiple data-placeholder="Choose ..."> <!-- please see name is in array like 'category[]' -->

<option value="1">Category 1</option>
<option value="2">Category 2</option>
<option value="3">Category 3</option>
</select>

<input type="submit" name="submit" value="Create Category"
class="btn btn-primary" class="btn btn-primary form-control">

我的 PHP 代码

if(isset($_POST['submit'])){
$category = $_POST['category'];

$i = implode(',', $category);

$insert = "insert into sub_category(category) values
 ('".mysqli_real_escape_string($con,$i)."')"; //$con is database connection code
$run = mysqli_query($con,$insert);
}

推荐阅读