在sql查询下拉列表中显示所选选项的PHP/HTML

在sql查询下拉列表中显示所选选项的PHP/HTML,php,html,mysql,Php,Html,Mysql,我不知道该如何命名我的问题,我基本上是问是否有人知道更好的方法来解决这个问题。我在下面使用这个函数来显示哪个选项是从DB中提取的,我想知道除了每个ID之外,是否还有更紧凑或更好的方法来实现这一点 function access_option($access) { if ($access == 0) { echo '<option value="0" selected>Member</option> <option va

我不知道该如何命名我的问题,我基本上是问是否有人知道更好的方法来解决这个问题。我在下面使用这个函数来显示哪个选项是从DB中提取的,我想知道除了每个ID之外,是否还有更紧凑或更好的方法来实现这一点

function access_option($access)
{
    if ($access == 0)
    {
        echo '<option value="0" selected>Member</option>
        <option value="1">Streamer</option>
        <option value="2">Moderator</option>
        <option value="3">Manager</option>
        <option value="4">Administrator</option>
        <option value="5">Senior Administrator</option>';
    }
    elseif ($access == 1)
    {
        echo '<option value="0">Member</option>
        <option value="1" selected>Streamer</option>
        <option value="2">Moderator</option>
        <option value="3">Manager</option>
        <option value="4">Administrator</option>
        <option value="5">Senior Administrator</option>';
    }
    elseif ($access == 2)
    {
        echo '<option value="0">Member</option>
        <option value="1">Streamer</option>
        <option value="2" selected>Moderator</option>
        <option value="3">Manager</option>
        <option value="4">Administrator</option>
        <option value="5">Senior Administrator</option>';
    }
    elseif ($access == 3)
    {
        echo '<option value="0">Member</option>
        <option value="1">Streamer</option>
        <option value="2">Moderator</option>
        <option value="3" selected>Manager</option>
        <option value="4">Administrator</option>
        <option value="5">Senior Administrator</option>';
    }
    elseif ($access == 4)
    {
        echo '<option value="0">Member</option>
        <option value="1">Streamer</option>
        <option value="2">Moderator</option>
        <option value="3">Manager</option>
        <option value="4" selected>Administrator</option>
        <option value="5">Senior Administrator</option>';
    }
    elseif ($access == 5)
    {
        echo '<option value="0">Member</option>
        <option value="1">Streamer</option>
        <option value="2">Moderator</option>
        <option value="3">Manager</option>
        <option value="4">Administrator</option>
        <option value="5" selected>Senior Administrator</option>';
    }
}
功能访问\u选项($access)
{
如果($access==0)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
elseif($access==1)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
elseif($access==2)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
elseif($access==3)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
elseif($access==4)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
elseif($access==5)
{
“回声”成员
彩色纸带
调解人
经理
管理员
高级行政长官",;
}
}

这是最好的方法吗?

使用三元运算符可以减少重复次数:

function access_option($access)
{
    echo '<option value="0"'.($access == 0 ? ' selected' : '').'>Member</option>';
    echo '<option value="1"'.($access == 1 ? ' selected' : '').'>Streamer</option>';
    echo '<option value="2"'.($access == 2 ? ' selected' : '').'>Moderator</option>';
    echo '<option value="3"'.($access == 3 ? ' selected' : '').'>Manager</option>';
    echo '<option value="4"'.($access == 4 ? ' selected' : '').'>Administrator</option>';
    echo '<option value="5"'.($access == 5 ? ' selected' : '').'>Senior Administrator</option>';
}
功能访问\u选项($access)
{
回声“成员”;
回声“流光”;
回声“主持人”;
回声“经理”;
回音“管理员”;
echo"高级行政人员",;
}

使用三元运算符可以减少重复次数:

function access_option($access)
{
    echo '<option value="0"'.($access == 0 ? ' selected' : '').'>Member</option>';
    echo '<option value="1"'.($access == 1 ? ' selected' : '').'>Streamer</option>';
    echo '<option value="2"'.($access == 2 ? ' selected' : '').'>Moderator</option>';
    echo '<option value="3"'.($access == 3 ? ' selected' : '').'>Manager</option>';
    echo '<option value="4"'.($access == 4 ? ' selected' : '').'>Administrator</option>';
    echo '<option value="5"'.($access == 5 ? ' selected' : '').'>Senior Administrator</option>';
}
功能访问\u选项($access)
{
回声“成员”;
回声“流光”;
回声“主持人”;
回声“经理”;
回音“管理员”;
echo"高级行政人员",;
}

三元运算符将减小它的大小,这是另一个答案。也可以使用switch语句。与if和elseif类似,但更简单,并且会减少代码

例如:

<?php
function access_option($access)
{
 switch ($access) {
    case 0: echo "access equals 0";
    case 1: echo "access equals 1";
    case 2: echo "access equals 2";
 }
}
?>

三元运算符将减小它的大小,这是另一个答案。也可以使用switch语句。与if和elseif类似,但更简单,并且会减少代码

例如:

<?php
function access_option($access)
{
 switch ($access) {
    case 0: echo "access equals 0";
    case 1: echo "access equals 1";
    case 2: echo "access equals 2";
 }
}
?>

您可以循环保存在数组中的值,并动态设置所选值。此方法通过调整阵列,可以方便地在将来添加/删除选项-

function access_option($access)
{
    $options = ["Member", "Streamer", "Moderator", "Manager", "Administrator", "Senior Administrator"];
    foreach($options as $key=>$value)
    {
        echo '<option value="'.$key.'"'.($key==$access ? ' selected' : '').'>'.$value.'</option>';
    }
}
功能访问\u选项($access)
{
$options=[“成员”、“拖缆”、“主持人”、“管理器”、“管理员”、“高级管理员”];
foreach($key=>$value的选项)
{
回显“.$value.”;
}
}

您可以循环保存在数组中的值,并动态设置所选值。此方法通过调整阵列,可以方便地在将来添加/删除选项-

function access_option($access)
{
    $options = ["Member", "Streamer", "Moderator", "Manager", "Administrator", "Senior Administrator"];
    foreach($options as $key=>$value)
    {
        echo '<option value="'.$key.'"'.($key==$access ? ' selected' : '').'>'.$value.'</option>';
    }
}
功能访问\u选项($access)
{
$options=[“成员”、“拖缆”、“主持人”、“经理”、“管理员”、“高级管理员”];
foreach($key=>$value的选项)
{
回显“.$value.”;
}
}

谢谢,这很有帮助,我希望我能帮上忙!谢谢,这很有帮助,我希望我能帮上忙!我喜欢这个解决方案我喜欢这个解决方案