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

ув. знатоки помогите вывести записи из базы данных на страницу в 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).'');

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


Ответы (1 шт):

Автор решения: teran

Проблема видимо в том, что вы ключи результирующего массива задаете в виде строк, поэтому на выходе получаете не массив, а объект. Исправьте ключи на числовые значения 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;
 }
→ Ссылка