php - 从数据库中检索数据到下拉菜单,但它没有显示在那里

标签 php jquery mysql ajax drop-down-menu

我正在尝试使用 jQuery 从数据库中获取值到下拉列表。但是下拉列表中没有显示任何内容。

代码如下:

获取列表.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>

最佳答案

试试这个脚本,我刚刚更改了 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>

关于php - 从数据库中检索数据到下拉菜单,但它没有显示在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54288371/

相关文章:

PHP inet_pton 返回空字符串... var_dump 另有说明

php - Laravel - HTML POST 表单,找不到页面

php - 如何使用 get_theme_mod 获取图像的替代文本?

Javascript 井字游戏获胜者检查

javascript - jQuery,如何通过选中复选框来调用 url

php - 解析多个json对象并将其存储在数据库中

php - 选择某个月份位于两个日期字段之间的 MySQL 行

jQuery AJAX - 返回的 HTML 消失

在 Windows 服务器上自动备份 MySQL 数据库

mysql - 如何折叠日期/时间范围内的相同行?