Динамические флажки PHP - PullRequest
0 голосов
/ 02 ноября 2010

Я хотел бы отобразить все роли из базы данных в качестве флажков и отметить те, в которых уже находится текущий пользователь.

Вопрос: Как установить флажки, если пользователь уже находится в этой роли.

<?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>';
}
?>

Ответы [ 2 ]

1 голос
/ 02 ноября 2010

Я бы сделал $user_in_role массивом, затем изменил бы оператор внутри первого цикла while на $user_in_role[] = $row2['RoleName']; (это добавляет имя роли в массив).Затем, повторяя флажок, добавьте это между class="checkbox" и >:

' . (in_array($role_name, $user_in_role) ? ' checked="checked"' : '') . '

0 голосов
/ 02 ноября 2010
<input checked='checked' type='checkbox' ... />

Вы также можете disable поля ввода.

<input checked='checked' disabled='disabled' type='checkbox' ... />

Эффективно сделать флажок отмеченным и отключенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...