ホームページ >バックエンド開発 >PHPチュートリアル >JSON出力用にデータベーステーブルのレコードに別のフィールドを追加する方法
JSON 出力用にデータベース テーブルのレコードに別のフィールドを追加する方法
テーブル user には id、name の 2 つのフィールドがあります
テーブル user_friend には id、userid、friendid の 3 つのフィールドがあります
$query = $this->db->query('SELECT * FROM user where id=46' );
$user=$query->row();
$queryfriend= $this- >db->query('SELECT * FROM user_friend where userid='.$user->id );
$userfriend=$queryfriend->result();
親愛なる皆さん、以下のjson形式を出力したいのですが、どうすればよいでしょうか?
{
"user": {
"id": "46",
"name": "john",
"ユーザーフレンド": [ {
"id": "13",
"userId": "46",
"friendId": "43"
> "id": "15" 、
"userId": "46"、
"friendId": "44"
}
]
}
}
------解決策----------------------
print_r($userfriend);すべて見てください
とは何ですか------解決策----------------------
これを試してください
$user['userfriend'] =$userfriend;
$data['user']=$user;
echo json_encode($data);
------ 解決策 --------- -------------
私の考え: 1. json を結合
1) ループ $user 、ネストされたループ $userfriend
2.配列
1). 2 つのテーブル間の結合クエリ
2). 新しい配列
を構築するためのループ 追加:
json_encode() は UTF -8 のエンコードに注意してください
------解決策のアイデア-----------
以上です。
<br />$query = $this->db->query('SELECT * FROM user where id=46' );<br />$user=$query->row();<br />$queryfriend= $this->db->query('SELECT * FROM user_friend where userid='.$user->id );<br />$userfriend=$queryfriend->result();<br /><br />$data = array();<br />$data['user']['id'] = $user[0]['id'];<br />$data['user']['name'] = $user[0]['name'];<br />$data['user']['userfriend'] = $userfriend;<br /><br />echo json_encode($data);<br />-----解決策----------------------