Я пытаюсь получить значения из базы данных в раскрывающийся список с помощью 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>
А чем вы пытались отладить проблему? Возвращает ли сервер данные в правильном формате? Возвращает ли он какие-либо данные? В консоль вашего браузера что-нибудь пишет?
он ничего не показывает ... но данные из базы данных извлекаются правильно ... я проверил, что
но поле выбора все еще пусто
$.each(return_data.data, откуда берется .data?
из getlist.php






попробуйте этот скрипт, я только что изменил часть 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("<option value = " + value.cid +">"+value.catname+"</option>");
Омгггг все работает, спасибоуууу.... вы спасатель... спасибо
Что показывает ваша консоль? Откуда берется
data?