사용자 정보를 업데이트 할 수있는 작은 페이지를 업데이트하고 있습니다.Foreach role_id HTML 선택 옵션
가 나는 두 개의 데이터베이스 tabels입니다 가입이 쿼리가 다음 역할의 이름이 역할 ID에 따라 출력에
SELECT * FROM users JOIN roles ON roles.id = users.`role_id` WHERE users.id=$id
을, 나는 변수 $ 역할
$role = $result["role_name"];
을 만들었습니다
그냥 울림으로 해결할 수 있습니다. $role
내가 원하는 것은 사용자 역할을 선택할 수있는 양식을 사용하는 것입니다. 또한 선택된 속성으로 사용자의 현재 역할을 표시합니다. 이와 유사한
뭔가 (내 옛 용액) :
<select name="role">
<?php
if ($role == 'Admin')
{
echo "<option value='Admin' Selected>";
}
else
{
echo "<option value='Admin'>";
}
echo "Admin </option>";
if ($role == 'User')
{
echo "<option value='User' Selected>";
}
else
{
echo "<option value='User'>";
}
echo "User </option>";
?>
</select>
그러나 당신이 볼 수 있듯이, 이것은 매우 확장 성이 아니었다. 내 DB에 새 역할을 추가 한 경우 다른 if 문으로 선택 코드를 수동으로 업데이트해야합니다.
그래서 foreach 문을 대신 사용할 수 있다고 생각했습니다. 하지만 단순히 Selected 속성을 사용하여 사용자의 현재 역할을 표시하는 방법에 대해 고민 할 필요는 없습니다.
배열 내 모든 역할을 얻으려면,이 짓을했는지 :$sql = $db->prepare ("SELECT * FROM roles");
$sql->execute();
$roles = $sql->fetchAll();
을 그리고 배열은 다음과 같이됩니다 : 당신은에서 역할의 배열을 채울 수
Array ([0] => Array ([id] => 1 [role_name] => Admin) [1] => Array ([id] => 2 [role_name] => User))
if 문을 루프 안에 넣기 만하면됩니다. –