【问题标题】:Dynamic dropdown list with PHP & MYSQL使用 PHP 和 MYSQL 的动态下拉列表
【发布时间】:2017-03-02 11:25:39
【问题描述】:

我一直在尝试使用从 MYSQL 获取数据的动态下拉列表创建一个表单。我的数据库很好,没有错误。

第一类下拉菜单工作正常,但我想知道为什么我的第二个下拉菜单不工作。我只是无法追踪代码中的任何错误,但这种情况正在发生。这是我的代码:

动态下拉表单代码:

<?php
    include_once "connection.php";
?>

<!DOCTYPE html>
<html>
    <head>
        <title>Dropdown Ajax</title>
    </head>
    <body>
        <div class="country">
            <label>Country</label>
            <select name="country" onchange="getId(this.value);">
                <option value="">Select Country</option>
                //populate value using php
                <?php
                    $query = "SELECT * FROM country";
                    $results=mysqli_query($con, $query);
                    //loop
                    foreach ($results as $country){
                ?>
                        <option value="<?php echo $country["cid"];?>"><?php echo $country["country"];?></option>
                <?php
                    }
                ?>
            </select>
        </div>

        <div class="city">
            <label>City</label>
            <select name="city" id="cityList">
                <option value=""></option>
            </select>
        </div>
    <script   src="https://code.jquery.com/jquery-3.1.1.js"   integrity="sha256-
16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="   crossorigin="anonymous">  
    </script>
    <script>
        function getId(val){
            //We create ajax function
            $.ajax({
                type: "POST",
                url: "getdata.php",
                data: "cid="+val,
                success: function(data){
                    $(#cityList).html(data);
                }
            });
        }
    </script>
    </body>
</html>

数据库连接代码:

<?php
    $con = mysqli_connect("localhost", "root", "kensift", "tuts");
    //Check connection
    if(mysqli_connect_errno()){
        echo "Failed to connect:".mysqli_connect_errno();
    }
?>

第二个动态下拉菜单的代码:

<?php
    include_once "connection.php";
    if (!empty($_POST["cid"])) {
        $cid = $_POST["cid"]; 
        $query="SELECT * FROM city WHERE cid=$cid";
        $results = mysqli_query($con, $query);

        foreach ($results as $city){
?>
            <option value="<?php echo $city["cityId"];?>"><?php echo $city["city"];?>
    </option>       
<?php
        }
    }
?>  

这三个代码部分位于不同的文件中。

【问题讨论】:

    标签: php jquery html mysql dropdown


    【解决方案1】:

    我认为您的代码是正确的,只是忘记了引号 id "#cityList"。

    应该是

    $("#cityList").html(data);
    

    【讨论】:

    • 嘿萨蒂亚!不能感谢你足够的人......你忘了在cityList中添加“”......真是个白痴......它现在可以工作......谢谢一百万
    【解决方案2】:

    我认为你的问题可能在这里:

    foreach ($results as $country){
    ?>
    <option value="<?php echo $country["cid"];?>"><?php echo              
    $country["country"];?></option>
    <?php
    }
    

    尝试改用这个:

    foreach ($results as $country){
    echo'<option value="'.$country["cid"].'">'.           
    $country["country"].'</option>';
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 2023-04-10
      • 2015-06-30
      • 1970-01-01
      相关资源
      最近更新 更多