Вывод PHP JSON с mysql для tag-it
Я пытаюсь заставить плагин tag-it jquery работать со строкой json. В настоящее время я получаю свои значения из базы данных следующим образом:
$query = sprintf(
'SELECT
t.tag
FROM
tags AS t
');
$row_set= array();
if($result = mysqli_query($db, $query))
{
// fetch data
while ($row = mysqli_fetch_assoc($result))
{
$row_set[] = $row;
}
// set the output
echo json_encode($row_set);
}
который дает следующий вывод при вызове в AJAX:
[{"tag":"test"},{"tag":"tests"}]
Но я должен вывести строку JSON в следующем формате:
["android-intent","animate","architecture","artificial-intelligence","attributes"]
Как я могу достичь этого?
2 ответа
Решение
Когда вы используете row_set[] = $row;
более вероятный $row
выглядит так $row['tag'] = 'test
вот почему у вас есть формат объекта JSON;
Пытаться
$row_set[] = $row['tag'];
Убедитесь, что вы также установили параметр seound в true
делать JSON
всегда возвращать массив
json_encode($row_set,true);
Это вернет его как массив, а не как объект
Это должно исправить это, добавив строку в вашу стрелку вместо добавления массивов в ваш массив.
$row_set[] = $row[0]; or $row_set[] = $row['tag'];