【发布时间】:2021-09-24 04:50:13
【问题描述】:
我有一个保存地块(地点/地点)的数据库(可以是 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>
【问题讨论】:
-
对完全相同的数据库进行一千次查询,这真的很糟糕。至少把那部分放在 before 循环之前。而
mysqli_fetch_all不会为您提供一个包含仅数字的“平面”数组,因此如果您希望 in_array 工作,您必须先创建它。 -
你如何在数据库表中表示一个特定的图是
taken?例如,您是否在特定列中设置了 1/0? -
您似乎还有一些 PHP 代码在 PHP 块之外,它只会将其作为文本输出而不是执行。此外,只是说“我似乎无法正常工作” 是一个糟糕的解释。您应该始终(详细)解释您预期会发生什么以及实际会发生什么。
-
@ProfessorAbronsius 是的,我有一个collum,可以选择采取或不采取。谢谢
-
@MagnusEriksson 我明白了!好的,会解决的!也谢谢你!
标签: php html arrays filter html-select