Как заполнить раскрывающийся список HTML значениями базы данных из json - PullRequest
0 голосов
/ 14 июля 2020

Я искал везде, но не могу найти решение своей проблемы. У меня есть таблица, которую можно редактировать с помощью JEditable, я хочу добавить к ней раскрывающееся меню, которое получает свои значения из файла json, в котором я делаю SQLI-запрос для получения данных. Код для использования файла json взят из JEditable и работает, если я использую массив в виде обычного текста в json. если я хочу использовать запрос, он ломается. Любой совет?

My Edit. js файл имеет это:

   $(".editable-select-REG").editable("save.php", {
        type   : "select",
        loadurl : "REG.php",
        loadtext : "Fetching JSON…",
        submit : "OK",
        style  : "inherit"
    });

My HTML Выпадающий список: (просто для пояснения, это работает с массивом открытого текста, поэтому нет необходимости Измените это, я думаю)

    <td rowspan="2"><span class="editable-select-REG" name="REG"/><?php echo $row ['reg'] ?></td>

Вот где проблема в моем json. php: Это работает:

    <? php
     $array['test1'] =  'test1';
     $array['test2'] =  'test2';
     $array['test3'] =  'test3';
     $array['test4'] =  'test4';
     $array['selected'] =  'selected one';
     echo json_encode($array);
     ?>

Это то, что я хочу в основном:

 <?php
 include('config.php');

$sql = "SELECT reg FROM lfz";

$result = mysqli_query($db, $sql) or die("Error: ".mysqli_error($db));;

$regs = array();

while ($row = mysqli_fetch_array($result))
{
    array_push($regs, $row["reg"]);
}

echo json_encode($regs);
?>

Как я уже сказал, основы работы, мне просто нужна помощь с файлом json. php, чтобы получить мои значения из базы данных.

1 Ответ

0 голосов
/ 14 июля 2020

Я только что использовал этот код для массива:

<?php
include('config.php');

$sql = "SELECT reg FROM lfz";

$result = mysqli_query($db, $sql) or die("Error: ".mysqli_error($db));;

$regs = array();
while ($row = mysqli_fetch_array($result))
{
    $regs[$row['reg']] = $row['reg'];
}
echo json_encode($regs);
?>

Он дал мне правильный массив с самого начала. Причина, по которой он не отображался в раскрывающемся списке, заключалась в том, что старый массив каким-то образом мешал. Я удалил и теперь работает.

...