Как можно из бд (ajax) вывести javascript массив?

101
31 марта 2022, 06:00

ув. знатоки помогите вывести записи из базы данных на страницу в Javascript массив, и что бы он обновлялся через ajax. Массив нужен такого вида:

playlist_sm = [
['Форсаж 4', '05-02-2020 19:00','ссылка на видео'],
['Форсаж 5', '05-02-2020 21:20','ссылка на видео']
];

В базе данных такие поля, (name,datatime,curl). Вот так пытался собрать массив. Но он получается не в таком виде.

$sql = 'SELECT name,datatime,curl FROM `films`';
$result = $mysqli->query($sql);
$json = array();
while ($row = $result->fetch_assoc()) {
$json[] = [ 
        '0' => $row['name'],
        '1' => $row['datatime'],
        '2' => $row['curl'],
    ];
 //$json[] = $row;
}
die(''.json_encode($json, JSON_UNESCAPED_UNICODE).'');

Заранее большое спасибо!

Answer 1

Проблема видимо в том, что вы ключи результирующего массива задаете в виде строк, поэтому на выходе получаете не массив, а объект. Исправьте ключи на числовые значения 0 => ..., 1 => ..., или вообще уберите их [ $row['name'], .... ] и получите массив.
Но в данном случае проще всего вообще воспользоваться методов fetch_all() и получить нужный результат:

 $sql = 'SELECT name,datatime,curl FROM `films`';
 $result = $mysqli->query($sql);
 if($result){
     $data = $mysqli->fetch_all($result);
     header("Content-type: application/json");
     echo json_encode($data, JSON_UNESCAPED_UNICODE);
     exit;
 }
READ ALSO
Удалить элемент из массива Jquery

Удалить элемент из массива Jquery

Как правильно удалить элемент из массива, если его id = chat_id? что-то похожее на это, только мой вариант не работает

85
JQuery по нажатию кнопок функция инкрементно срабатывает

JQuery по нажатию кнопок функция инкрементно срабатывает

Создаю в js таблицу, где в одной из колонок в каждой строке создаю кнопки

97
Ошибка в DevTools

Ошибка в DevTools

Первый раз выскочило предупреждение в DevTools :

182
Как разбить цифру в числа

Как разбить цифру в числа

Есть число 8 на входе, нужно чтобы на выходе было 1,2,3,4,5,6,7,8, пробовал через цикл не получилось

103