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