PHP动态复选框 [英] PHP dynamic checkboxes
问题描述
我想显示数据库中的所有角色作为复选框,并检查当前用户已经在使用的角色。
问题: / strong>如何检查用户已经在该角色的复选框。
<?php
// DB QUERY:获取角色名称
// ---------------------------------- --------------------------------
$ get_roles = mysqli_query($ conn,SELECT RoleName FROM roles )
或die($ dataaccess_error);
$ get_user_in_roles = mysqli_query($ conn,SELECT RoleName FROM users_in_roles WHERE UserId = $ user_id)
或die($ dataaccess_error);
// -------------------------------------------- ----------------------
//角色中的用户
while($ row2 = mysqli_fetch_array($ get_user_in_roles))
{
$ user_in_role = $ row2 ['RoleName'];
}
// echo out角色名称
while($ row1 = mysqli_fetch_array($ get_roles))
{
$ role_name = $ row1 [' RoleName'];
echo'< label class =label>< input type =checkboxname ='。$ role_name。'class =checkbox>'。$ role_name。'< / label& ';
}
?>
我会让 $ user_in_role
一个数组,然后将第一个while循环中的语句更改为 $ user_in_role [] = $ row2 ['RoleName'];
角色名称到数组)。然后,当回显复选框时,在 class =checkbox
和>
:<
'。 (in_array($ role_name,$ user_in_role)?'checked =checked':'')。 '
I'd like to display all roles from database as check-boxes and check the ones that the current user is already in.
Question: How can I check the check-boxes where the user is already in that role.
<?php
// DB QUERY: get role names
// ------------------------------------------------------------------
$get_roles = mysqli_query($conn, "SELECT RoleName FROM roles")
or die($dataaccess_error);
$get_user_in_roles = mysqli_query($conn, "SELECT RoleName FROM users_in_roles WHERE UserId = $user_id")
or die($dataaccess_error);
// ------------------------------------------------------------------
// user in roles
while($row2 = mysqli_fetch_array($get_user_in_roles))
{
$user_in_role = $row2['RoleName'];
}
// echo out role names
while($row1 = mysqli_fetch_array($get_roles))
{
$role_name = $row1['RoleName'];
echo '<label class="label"><input type="checkbox" name='.$role_name.' class="checkbox">'.$role_name.'</label>';
}
?>
I would make $user_in_role
an array, then change the statement inside the first while loop to $user_in_role[] = $row2['RoleName'];
(this appends the role name to the array). Then, when echoing the checkbox, add this between class="checkbox"
and the >
:
' . (in_array($role_name, $user_in_role) ? ' checked="checked"' : '') . '
这篇关于PHP动态复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!