php - 使用相同的 mysql 查询填充多个下拉列表

标签 php jquery

我有一个表格,里面有许多下拉框,其中有数字 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/

相关文章:

php - 仅当单元格不为空时 SQL 查询才包含在 CONCAT 中

javascript - JS/jQuery : Detect when a video's muted property is changed

javascript - JavaScript "for"中的奇怪事情

javascript - 如何摆脱 object.key 的编辑器错误

jQuery:是否可以从一个请求连续读取数据?

javascript - 如何将 Dropbox API v2 POST HTTP 请求转换为 jQuery $.ajax?

php - 优化查询SQL

php - 为 Linux 守护进程制作安装包

php - 更改magento结帐页面中的文本框-要编辑哪个页面?

php - 人们如何处理内容管理系统的生产阶段?