我有一个表格,里面有许多下拉框,其中有数字 1-5。我可以使用此代码来填充下拉列表,但想知道我是否可以以某种方式只调用一次数据库,但填充所有使用相同数字的下拉列表?
<?php
$sql = "SELECT * FROM riskNumDrop";
$result = $conn->query($sql);
if (!$conn->query($sql)) {
echo "query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
echo '<select class="assess" name="precontcons" style="width:4em">' ;
while($row = $result->fetch_assoc()){echo '<option value='. $row['riskNumDrop'] .'>'.$row['riskNumDrop'].'</option>';}
?> </select>
因此理想情况下,我生成一次输出并多次重复使用。我猜是一个数组($result 已经是)但是我如何填充它的下拉列表?时间差
最佳答案
保存为字符串可以避免多次循环生成相同输出的相同数据的处理过程。如果这是您想要的,您可以执行以下操作。
替换:
echo '<select class="assess" name="precontcons" style="width:4em">' ;
while($row = $result->fetch_assoc()){echo '<option value='. $row['riskNumDrop'] .'>'.$row['riskNumDrop'].'</option>';}
?> </select>
与:
$drop = '<select class="assess" name="precontcons" style="width:4em">' ;
while($row = $result->fetch_assoc()){
drop .= '<option value='. $row['riskNumDrop'].'>'.$row['riskNumDrop'].'</option>';
}
$drop .= '</select>';
然后你可以echo $drop
如果你愿意,可以多次。
如果出于某种原因你想要不同的选择属性,你可以只保存选项列表并打印周围的选择,就像这样:
$dropOptions = "";
while($row = $result->fetch_assoc()){
$dropOptions .= '<option value='. $row['riskNumDrop'].'>'.$row['riskNumDrop'].'</option>';
}
然后就是echo '<select class="foo" name="bar">'.$dropOptions.'</select'>
关于php - 使用相同的 mysql 查询填充多个下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578297/