当值与php匹配时,将复选框显示为选中


Show checkbox as checked when value matches php

使用用户id 检索用户的角色

$userId = $userDetails['user_id'];
$stmt = $db->query ( "SELECT user_role_id FROM user_role_xref where user_id=" . $userId);
$userRoles = $stmt->fetchAll ();
print_r($userRoles);

当我打印这个时

Array ( 
    [0] => Array ( 
        [user_role_id] => 3 
    ) 
    [1] => Array ( 
        [user_role_id] => 4 
    ) 
    [2] => Array ( 
        [user_role_id] => 5 ) 
    ) 

当值与其他复选框匹配时,如何将复选框显示为已选中

<input type="checkbox" id="roles_1" value="3" name="roles[]" />
<label for="roles_1">Role1</label><br />
<input type="checkbox" id="roles_2" value="4" name="roles[]" />
<label for="roles_2">Role2</label><br />
<input type="checkbox" id="roles_3" value="5" name="roles[]" /> 
<label for="roles_3">Role3</label><br/> 

HTML属性checked="checked"

例如:

<input type="checkbox" <?php if ($var) echo ' checked="checked"'; ?> id="roles_2" value="4" name="roles[]" />

使用php的in_array函数检查该值是否存在如果存在,则设置checked属性,否则显示unchecked。

<input type="checkbox" <?php if(in_array("roles_1",$roles_array){ echo 'checked="checked"';} ?> id="roles_1" value="1" name="roles[]" />