首页 > 解决方案 > 如果已在数据库中选择,则消除 Selected 选项...?

问题描述

我有一个选项最多 20 个的选择框,例如,如果选择了选项 5 或任何其他选项并将其保存在特定列中的数据库中,则下次不会显示...
请指导我

<select class="form-control text-center" name="code" id="Code"    >
        <option value="">Select Code</option>
        <?php for($i = 1; $i <= 20; $i++){ ?>
            <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
        <?php } ?>
</select>

标签: phpmysqlcodeigniter

解决方案


你可以像这样接近它

$availableOption = range(1,20);
$selectedOrInDb  = [5,6,8,9]; // Selected OR from DB
$remaining = array_diff($availableOption, $selectedOrInDb);

现在您可以使用$remaining循环

<select class="form-control text-center" name="code" id="Code"    >
    <option value="">Select Code</option>
    <?php foreach($remaining as $key => $value){ ?>
        <option value="<?php echo $value; ?>"><?php echo $value; ?></option>
    <?php } ?>
</select>

推荐阅读