当数据库查询有许多值[永久身份证,实习生身份证,身份证]时,不会因未知原因而检查
在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;身份证)作为输出
答案 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