在我与农业相关的 Android 应用程序中,用户将作物的名称发送到 PHP 网络服务,该网络服务应返回有关该作物的详细信息。
这是数据库的示例结构。
Crop_Master:Crop_Id , Crop_Name , Seed_Rate , Fertilizer
Pest: Crop_id , Pest_Name
现在我知道了 PDO 的 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"}
.
.
.
]
}
]
那么如何运行多个查询并创建一个输出数组?