php json追加一条数据库,怎么将数据库表的一条记录中增加一个单独的字段来进行json输出...

如何将数据库表的一条记录中增加一个单独的字段来进行json输出

表user有两个字段,id,name

表user_friend有三个字段,id,userid,friendid

$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",

"userfriend": [ {

"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).循环构造新数组

额外:

json_encode()注意编码UTF-8

------解决思路----------------------

这样就可以了。

$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();

$data = array();

$data['user']['id'] = $user[0]['id'];

$data['user']['name'] = $user[0]['name'];

$data['user']['userfriend'] = $userfriend;

echo json_encode($data);

------解决思路----------------------

先取出所有用户,foreach循环取出每个用户的朋友,在保存到一个数值里面

相关文章

相关视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值