繁体   English   中英

如何在PHP中基于所选值及其中的数据创建多个下拉列表?

[英]How can I create multiple dropdown based on the selected values with data in it in PHP?

因此,我试图创建多个下拉框来显示数据库中的数据。 我可以创建多个下拉菜单,但是它仅在第一个下拉菜单中显示数据,而在其他已创建的下拉菜单中不显示数据。 我对此并不陌生,希望获得一些专业人士的帮助。 这是代码:

<form action="#" method="post">
    <select id="aantalMaaltijden" name="aantalMaaltijden">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>
    <input type="submit" name="submit" value="Bereken" />
</form>

<?php
$sql = "SELECT * FROM test";
$result = $conn->query($sql);

if(isset($_POST['submit'])){
    $selected_val = $_POST['aantalMaaltijden'];  // Storing Selected Value In Variable

    for($i=0; $i<$selected_val; $i++){
        echo "<select>";

        while($row = $result->fetch_array()) {
            echo "<option>".$row['name']."</option>";               
        }

        echo "</select>";                   
    }
}

?>

谢谢 :)

像这样更改您的代码,让我知道

if (isset($_POST['submit'])) {

    $options = "";
    $selected_val = $_POST['aantalMaaltijden'];  // Storing Selected Value In Variable

    while ($row = $result->fetch_array()) {

        $options .= "<option>" . $row['name'] . "</option>";
    }

    for ($i = 0; $i < $selected_val; $i++) {

        echo "<select>";
        echo $options;
        echo "</select>";
    }
}

已编辑

问题出在$result->fetch_array() 您不能针对同一资源两次调用$result->fetch_array() 您传递给$result->fetch_array()的资源结果是通过引用完成的。 您需要重新设置指针的位置,然后才能$result->fetch_array()使用$result->fetch_array() 这就是为什么您的第一个下拉列表填充的是数据而不是其他数据。

由于所有下拉菜单都包含相同的选项,因此我在变量$options添加了所有选项,并在all select中将其串联在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM