将数据从数据库检索到下拉菜单,但未显示在此处

时间:2019-01-21 10:52:17

标签: php jquery mysql ajax drop-down-menu

我正在尝试使用jquery从数据库获取值到下拉列表。但是下拉列表中没有任何显示。 这里的代码

getlist.php

<?php   

 $conn =mysqli_connect("localhost", "root", "", "project"); 

      $sql = "SELECT * FROM catd";  
      $result = mysqli_query($conn, $sql); 

$scat_arr = array();
 while( $row = mysqli_fetch_array($result) )
 {
    $catid = $row['cid'];
    $catname = $row['catname'];
    $scat_arr[] = array("cid" => $catid, "catname" => $catname);
}
echo json_encode($scat_arr);
 ?>  

catdet.php

这是我要检索值的地方。

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<form   method="post" enctype="multipart/form-data" align="center">
Subategory Name : <input type="text" name="scname"><br><br>
Category Name : <select id="catn"> </select><br><br>
Subategory description : <input type="text" name="scdes"><br><br>
<input type="file" name="scimg" id="file"><br><br>
<input type="submit" name="submit" value="Submit">

</form>

<script>
$(document).ready(function(){
$.getJSON("getlist.php", function(return_data){
  $.each(return_data.data, function(key,value){
    $("#catn").append("<option value=" + value.cid +">"+value.catname+"</option>");
  });
});

});
</script>

1 个答案:

答案 0 :(得分:0)

尝试这个脚本,我刚刚更改了foreach部分

<script>
    $(document).ready(function(){
        $.getJSON("getlist.php", function(return_data){
            // <edited part>
            return_data.forEach(function(e,i){
                $('#catn').append('<option value= "'+e.cid+'">'+e.catname+'</option>');
            });
            // </edited part>
        });
    });
</script>