in_array不会选择从DB收集的多个复选框值

时间:2017-04-18 07:14:08

标签: php

当数据库查询有许多值[永久身份证,实习生身份证,身份证]时,不会因未知原因而检查

在QUERY下方获取复选框 cardtype具有表单

中的所有选中值

仅适用于一个复选框字段 1)永久身份证或实习生身份证或身份证 2)当显示永久ID卡,实习生身份证,仅ID卡复选框时,未选中。

while($row2=mysqli_fetch_array($result2))
{
    $card_type = explode(',',$row2['cardtype']);
    if (in_array("Permanent ID Card", $card_type))  
    {  
    echo "'Permanent ID Card' found in the array";  
    }  
    <input type="checkbox" name="cardtype" value="Trainee ID Card"<?php if(in_array("Trainee ID Card",$card_type)) echo "checked";?> />Trainee ID Card
    <input type="checkbox" name="cardtype" value="Permanent ID Card"<?php if(in_array("Permanent ID Card",$card_type))  echo "checked";?> />Permanent ID Card
    <input type="checkbox" name="cardtype" value=" ID Card"<?php if(in_array(" ID Card",$card_type))  echo "checked";?> /> ID Card
 }

当我打印-r

  

数组([0] =&gt;实习生身份证[1] =&gt;身份证身份证[2] =&gt;身份证)作为输出

1 个答案:

答案 0 :(得分:0)

请确保if条件中没有空格。此外,在应用explode后,修剪空格

$card_type = explode(',',$row2['cardtype']);

$card_type = array_map('trim', $card_type); // Add this line

HTML code:

<input type="checkbox" name="cardtype" value="Trainee ID Card"<?php if(in_array("Trainee ID Card",$card_type)) echo "checked";?> />Trainee ID Card
<input type="checkbox" name="cardtype" value="Permanent ID Card"<?php if(in_array("Permanent ID Card",$card_type))  echo "checked";?> />Permanent ID Card
<input type="checkbox" name="cardtype" value=" ID Card"<?php if(in_array("ID Card",$card_type))  echo "checked";?> /> ID Card