php - 如何将多项选择数据作为数组发布到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
}
假设我选择1和3值。当我尝试发布选定的数据时,它只发布到数据库表的最后一个值并发布到列为3但我想将数据发布为“1”、“3”
解决方案
我从这个链接中找到了我的答案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);
}
推荐阅读
- angular - ng-repeat 集合到表格单元格的数组不起作用
- bash - Docker 获取已创建网络的 IP 地址列表(子网的 IP 范围)
- cmake - 如何在 add_custom_command 中按顺序运行 cmake 命令
- powershell - 无法识别 Set-OrganizationConfing,即使我可以 Get-OrganizationConfig
- group-by - 如何通过识别列名中的唯一字符串来创建子组
- vmware-clarity - Datagrid过滤器/基于功能的列排序
- javascript - 是否可以使用 javascript 创建动态 Django 变量?
- bash - Shell 脚本中的 If 语句 - 声明性管道
- python - 如何最紧凑地在 DRF ORM 上实现代码
- microsoft-edge - 使用 AAD 帐户在 Microsoft Edge 中不可用同步