В моем приложении для Android, связанного с сельским хозяйством, пользователь отправляет имя урожая в PHP webservice и что webservice должен возвращать данные об этом урожае.Многоуровневый массив JSON в PHP
Вот пример структуры базы данных.
Crop_Master:Crop_Id , Crop_Name , Seed_Rate , Fertilizer
Pest: Crop_id , Pest_Name
Теперь я знаю о функции fetchAll() ПДО и преобразовать его в JSON массив, если данные поступают из одной таблицы.
Нравится это: здесь данные взяты из таблицы Crop_Master и отлично работают.
$query1="select seed_rate,fertilizer_dosage from crop_master where crop_id='$crop_id'";
$res=$db->query($query1);
$output=$res->fetchAll(PDO::FETCH_ASSOC);
print(json_encode($output));
Но я не знаю, как создать единый массив вывода, когда данные поступают из нескольких таблиц.
Предположим, я хочу создать массив JSON как это:
[
{
"seed_rate":"value_from_db"
"fertilizer":"value_from_db"
"pests":
[{"pest_name:"value_from_db"}
{"pest_name:"value_from_db"}
.
.
.
]
}
]
Тогда как я могу запустить несколько запросов и сделать единый массив выходной?
Вам нужно получить свой первый набор результатов, сказать $ output, затем перебрать через уникальный идентификатор каждого выхода и выполнить новый запрос для каждого, добавляя результаты к оригиналу, то есть $ output [вредители] –