首页 > 解决方案 > PHP Filter html 选择选项值,如果它在数据库中找到

问题描述

我有一个保存地块(地点/地点)的数据库(可以是 5、40、91 等(不增加))在我的网站上,我有一个下拉选项,其中选择了可用的地块(0 - 1023)。我希望在数据库中找到的选项从网站的下拉选择中隐藏。因此,如果采用情节 1,它会在数据库中找到,并且它不应该在网站下拉选择中可用。我似乎无法让这个工作......

这是我想出的代码。

<label for="plotnumber">Plotnumber :</label></br>
<select name="input_plotnumber">

<?php for ($i = 0; $i <= 1023; $i++) : ?>

$query = ("SELECT plotnumber FROM plot1");
$result = $conn->query($query);
$arrayofplots = mysqli_fetch_all($result);

if (in_array($i, $arrayofplots)) {

}
else {
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
}

<?php endfor; ?>?>
</select>

标签: phphtmlarraysfilterhtml-select

解决方案


如果您修改 SQL 以选择所有已拍摄的图,则您可以决定仅输出option其值不在该记录集中的元素。根据您的评论,taken您可能会尝试这样的列:

<label>Plotnumber :

    <br />

    <?php
        $sql='select plotnumber from plot1 where taken=1';
        $res=$conn->query($sql);
        $data=$res->fetch_all(MYSQLI_ASSOC);
    ?>


    <select name="input_plotnumber">
        <option selected disabled hidden>Select Plot
        <?php
            for( $i=0; $i < 1024; $i++ ){
                if( !in_array( $i, array_column($data,'plotnumber') ) )printf('<option>%d',$i);
            }
        ?>
    </select>

</label>

推荐阅读