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

Posted

技术标签:

【中文标题】从数据库中检索数据到下拉菜单,但它没有显示在那里【英文标题】:Retrieving data to dropdown menu from database but it is not displaying there 【发布时间】:2019-06-14 17:58:20 【问题描述】:

我正在尝试使用 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>

【问题讨论】:

您的控制台显示什么? data 来自哪里? 您尝试过什么来调试问题?后端是否以正确的格式返回数据?它是否返回任何数据?是否有任何内容写入浏览器的控制台? 它什么也没显示......但是数据是从数据库中正确检索的......我检查了 但选择字段仍为空 $.each(return_data.data, .data 来自哪里? 【参考方案1】:

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

【讨论】:

我认为问题出在报价部分。这里,$("#catn").append(""); Oomggggg 它的工作gthanks youuuuu....你是一个救星..thankssssssss

以上是关于从数据库中检索数据到下拉菜单,但它没有显示在那里的主要内容,如果未能解决你的问题,请参考以下文章

jquery tabledit 下拉菜单:是不是可以从 mysql 数据库中检索值?

在 MVC 中选择下拉菜单的设置值问题

如何使用 PHP 在多个下拉表单数据库中显示相同的记录?

引导自动完成输入下拉菜单未显示

从下拉列表中触发时,Bootstrap-4 模态不显示

Bootstrap 3 下拉菜单不更新