簡體   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