首页 > 解决方案 > 多个复选框值未存储到 php 中的数据库中,使用 foreach 显示为空

问题描述

尝试使用 foreach 循环将多个复选框值存储到数据库中时,该列中没有输入任何内容,我想将所有复选框值、选中值输入到单个列

培训班:

<input type="checkbox" name="course" value="php">PHP 
<input type="checkbox" name="course" value="java">Java 
<input type="checkbox" name="course" value="android">ANDROID

<input type="checkbox" name="course" value="net">.NET
<input type="checkbox" name="course" value="mat">MATLAB

这是插入代码和循环:

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

    $chk="";
    foreach($course as $chk1)  
      {  
          $chk.= $chk1.",";  
      }

$q="INSERT INTO  application(id,fname,lname,age,sex,edu,addr,course) VALUES ('','$fname','$lname','$age','$gender','$edu','$addr','$course')";

标签: phphtmldatabasemysqli

解决方案


输入名称必须是一个数组以保存多个值。将您的代码更新为,

Courses   :  <input type="checkbox" name="course[]" value="php">PHP
<input type="checkbox" name="course[]" value="java">Java
<input type="checkbox" name="course[]" value="android">ANDROID<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="course[]" value="net">.NET
<input type="checkbox" name="course[]" value="mat">MATLAB<br><br>

此外,您可以将您foreach的替换implode为,

$course = $_POST['course'];
$chk = implode(',', $_POST['course'])

推荐阅读