Получение данных в раскрывающееся меню из базы данных, но они там не отображаются

Я пытаюсь получить значения из базы данных в раскрывающийся список с помощью 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?

Masivuye Cokile 21.01.2019 11:54

А чем вы пытались отладить проблему? Возвращает ли сервер данные в правильном формате? Возвращает ли он какие-либо данные? В консоль вашего браузера что-нибудь пишет?

Nico Haase 21.01.2019 11:54

он ничего не показывает ... но данные из базы данных извлекаются правильно ... я проверил, что

user10877649 21.01.2019 11:56

но поле выбора все еще пусто

user10877649 21.01.2019 11:56
$.each(return_data.data, откуда берется .data?
Masivuye Cokile 21.01.2019 11:57

из getlist.php

user10877649 21.01.2019 11:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
6
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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("<option value = " + value.cid +">"+value.catname+"</option>");

Sovit Maharjan 21.01.2019 12:20

Омгггг все работает, спасибоуууу.... вы спасатель... спасибо

user10877649 21.01.2019 12:24

Другие вопросы по теме