Я работаю над выпуском нескольких строк MySQL JSON в HTML-таблицу через PHP (на стороне сервера) и jQuery (front end) через простую область поиска. Мне удалось проанализировать одну строку JSON для таблицы, но теперь нужно разместить несколько строк данных JSON.
Моя таблица HTML на странице поиска выглядит примерно так:
ARTIST | TITLE | LOCATION U2 | One | Ireland Foals | Miami | UK
и файл JSON, переданный ему, использует аналогичные заголовки:
{"ARTIST":"Katy Perry","LOCATION":"United States", "TRACKTITLE":"Roar"}
Я некоторое время играл с кодом, включая массивы, чтобы перебирать данные. Это работает так же сильно, как и в строках MySQL правильно и успешно отправляет несколько строк данных в формате JSON (я расшифровал мою страницу поиска в Firebug). Проблема в том, что мой jQuery-файл не может поместить его в мою таблицу HTML, что приводит к пустой странице. Я пробовал различные методы массивов из предыдущих вопросов Stackoverflow, но не могу заставить его работать, возвращая поля «ARTIST», «TRACKTITLE» и «LOCATION» с каждым возвращаемым результатом
извлечение из файла PHP:
$result = mysql_query($sql); $data = array(); while ($array = mysql_fetch_assoc($result)) { $data[] = $array; } echo json_encode($data);
Отредактировано, чтобы включить экстракт jQuery и более конкретный вопрос :
function(data) { var sentData=JSON.parse(data) for (var i = 0; i < sentData.ARTIST.length; ++i) { tr = $('<tr/>'); tr.append("<td>" + sentData.ARTIST + "</td>"); tr.append("<td>" + sentData.TRACKTITLE + "</td>"); tr.append("<td>" + sentData.LOCATION + "</td>"); $('#multiple').append(tr); } });
Как я могу анализировать только соответствующие значения каждого результата «ARTIST», TRACKTITLE и LOCATION с использованием метода JSON.parse? Это полная возвращаемая строка JSON:
[{"ARTIST":"Katy Perry","TRACKTITLE":"Roar","LOCATION":"United States"}, {"ARTIST":"U2","TRACKTITLE":"One","LOCATION":"Ireland"}]