json を出力する前にデータをマージするのに問題があります。目標は、json 内の各オブジェクトに各「投稿」のすべてのデータを含めることです。
以下のコード:
$results = mysql_query("SELECT dfuw_posts.ID, dfuw_posts.post_title,
dfuw_postmeta.meta_key, dfuw_postmeta.post_id, dfuw_postmeta.meta_value FROM
dfuw_posts INNER JOIN dfuw_postmeta ON dfuw_posts.ID = dfuw_postmeta.post_id WHERE
dfuw_posts.post_type = 'poi' AND dfuw_posts.post_status = 'publish' AND
dfuw_postmeta.meta_key IN ('_poi_loc' ,'_poi_level' ,'_poi_type')");
$pois = array();
while($r = mysql_fetch_assoc($results)){
$pois[] = $r;
}
echo json_encode($pois);
出力:
[
{
"ID": "320",
"post_title": "Bank",
"meta_key": "_poi_loc",
"post_id": "320",
"meta_value": "70.4845662217412|-84.5123291015625"
},
{
"ID": "320",
"post_title": "Bank",
"meta_key": "_poi_level",
"post_id": "320",
"meta_value": "easy"
},
{
"ID": "320",
"post_title": "Bank",
"meta_key": "_poi_type",
"post_id": "320",
"meta_value": "bank"
},
{
"ID": "324",
"post_title": "A Creature",
"meta_key": "_poi_type",
"post_id": "324",
"meta_value": "mob"
},
{
"ID": "324",
"post_title": "A Creature",
"meta_key": "_poi_level",
"post_id": "324",
"meta_value": "med"
},
{
"ID": "324",
"post_title": "A Creature",
"meta_key": "_poi_loc",
"post_id": "324",
"meta_value": "70.4845662217412|-84.5123291015625"
}
]
各投稿を次のようにバンドルしたいと思います。
{
"title": "A Creature",
"location": "70.4845662217412|-84.5123291015625",
"type": "mob",
"level": "hard"
}
これは達成可能ですか?もしそうなら、正しい道に私を送るための提案は大歓迎です!
前もって感謝します!