php - 如何将复选框表单插入类型集的数据库属性
问题描述
我有表单内容 4 个复选框;我的数据库 MYSQL 包含两个属性(Id,课程)设置课程类型它可以有很多项目,我想将这些复选框值插入数据库
我正在使用它,但它保存了检查 ex 的最后一个值:如果我检查保存 C++、JAVA 和 vb,则只保存 vb!
INSERT INTO `$table` (`id`, `courses`) VALUES (NULL,'$ch');
$ch 是变量保存 POST 表单值的名称
我怎么能做到这一点?
<input type="checkbox" value="C++" name="c++" /> C++ <br />
<input type="checkbox" value="JAVA" name="java" /> JAVA <br />
<input type="checkbox" value="VB" name="vb" /> VB.NET <br />
<input type="checkbox" value="PHP" name="php" /> PHP <br />
INSERT INTO `$table` (`id`, `courses`) VALUES (NULL, 'check1 , check2 , ... etc);
解决方案
$courses = [];
$i = 0;
if($_POST['c++'] != '')
{
$courses[$i++] = $_POST['c++'];
}
if($_POST['java'] != '')
{
$courses[$i++] = $_POST['java'];
}
if($_POST['vb'] != '')
{
$courses[$i++] = $_POST['vb'];
}
if($_POST['php'] != '')
{
$courses[$i++] = $_POST['php'];
}
$ch = implode(',', $courses); // It will convert the array ($courses) into comma separated string.
1.这里我已经初始化了一个数组$courses。
2. 如果复选框被选中,这意味着值不等于 null,那么我已将值存储在 $courses 数组中。
3. 最后我将数组更改为逗号分隔的字符串($ch),它适合存储在数据库中的课程列中。
推荐阅读
- python - 有没有办法从用户收到的文本中将多个类写入 python 文件?
- c++ - 可以使用 Deque+Sqrt 分解来解决 codeforces 问题 455D 吗?
- powershell - 如何通过 Get-AzureAdUser 在一次调用中获取用户列表以及经理信息?
- dart - 如何在颤动中制作小部件向下滑动动画?
- xamarin - Xamarin.Forms UWP 上的缩放动画不重复
- sql - AdventureWorks 2016 子查询不起作用
- php - 如何在 Laravel 的 LoginPage 上调试 419 错误?(不使用 AJAX)
- python - 在python中调用没有WSDL的soap API
- python - OpenCV 图片卡住了
- python - 是什么阻止用户被插入到表中?