Я действительно застрял, пытаясь решить, что должно быть довольно простым.
У меня есть это
<?php
$json = json_decode('{
"33540116":
{"person":
{"name":"John", "age":"36"}},
"33541502":
{"person":
{"name":"Jack", "age":"23"}}
}
');
$id = array('33540116', '33541502');
foreach($id as $id) {
echo $json->$id->person->{'name'}. '<br />';
echo $json->$id->person->{'age'}. '<br />';
}
?>
Таким образом, код декодирует строку json, а затем использует foreach для отображения каждого результата..
Этот файл json довольно большой, и меня интересуют только определенные записи, которые соответствуют идентификатору, хранящемуся в таблице mysql.
Для этого я заменил строку массива id выше наMySQL оператор выбора.
<?php
$json = json_decode('{
"33540116":
{"person":
{"name":"John", "age":"36"}},
"33541502":
{"person":
{"name":"Jack", "age":"23"}}
}
');
$result = mysql_query("SELECT id FROM people");
$row = mysql_fetch_array($result);
$id = array($row['id']);
foreach($id as $id) {
echo $json->$id->person->{'name'}. '<br />';
echo $json->$id->person->{'age'}. '<br />';
}
?>
Хотя это работает, он дает мне только 1 результат.Что мне действительно нужно, так это просмотреть результаты.К сожалению, я не знаю, как построить цикл while вместе с foreach.
Я буду очень признателен за вашу помощь.
ОБНОВЛЕНИЕ (дополнительный вопрос)
Спасибо всем.Вы помогли мне решить проблему.
Однако у меня есть еще один вопрос, касающийся этого вопроса.
Я упоминал выше, что просто хотел повторить результаты.Но это не совсем так.Что я действительно хочу сделать, так это обновить ту же таблицу mysql, получив результаты, полученные из файла json.
У меня есть таблица с именами людей с полями id, name и age.
Как я могуобновить таблицу с этими результатами?
Еще раз спасибо.