将所选值绑定到php

时间:2017-10-04 10:12:36

标签: php checkbox

我有一个下面提到的PHP代码片段

 <?php  $query = "SELECT * FROM Qualification";
    $result = mysqli_query($dbcon,$query);
    while($row=mysqli_fetch_array($result)){ 
   ?>   
<input type='checkbox' value='"<?php $row['Id'] ?> "' name='Qualification[]' /><?php  $row['Description'] ?><br>

<?php } ?>

以上代码用于显示数据库中的所有资格。

输出

[] Teacher
[] Engineer
[] Doctor
[] Banker etc..

现在说我已经检查了3个复选框教师,工程师,医生。

foreach($_POST['Qualification'] as $Qualification) 
         {
            $AllQualification .=$Qualification.",";
         }

$AllQualification ="1,2,3,"

所以我将值的ID连接成一个字符串并将其存储在数据库中 的 1,2,3,

现在我需要再次将数据绑定到该复选框。当我重新获得选定的资格时,它会给出1,2,3,

现在如何将selectedvalues绑定到复选框。

我需要的输出是老师,工程师,医生应该检查 银行家应该被取消。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

你可以这样做

将字符串分解为数组

$AllQualification ="1,2,3,";

$selected  = explode(",", $AllQualification);
$selected = array_filter($selected);
//print_r($selected);

使用in_array可以检查是否已选中

<?php  $query = "SELECT * FROM Qualification";
$result = mysqli_query($dbcon,$query);
while($row=mysqli_fetch_array($result)){ 
  ?>   
<input type='checkbox' value='"<?php $row['Id'] ?> "' name='Qualification[]' 
    <?php if (in_array($row['Id'], $selected)){ echo "checked" } ?> /><?php  $row['Description'] ?><br>

         <?php } ?>

点击此链接http://sandbox.onlinephpfunctions.com/code/ae6bbfc6bd0ad84ddceadeac608fa6747de41274