mysql查询拼接json数据_在数据库中读出数据组成json格式,如何实现用递归的方式实现json的拼接...

菜鸟就是菜鸟,该给的没给,我也懒得问了,我假设消息表结构为,name,userid,time,reid

reid表示接收者的id,那么表数据就类似这样,

name, userid, time, reid

qqq, 34013, 2015/2/11 9:44:22, 34362

aaa, 34362, 2015/2/11 9:45:50, 34484

....

算法步骤,

1将数据的层级关系转为数组的维数关系

2将数组转为json数据

$arr = get_category();//将数据变为数组格式

$json = arr_to_json($arr);//将数组变为json数组,所有语言都会提供这种函数的。

代码用php写的,你懂不懂都算了

function get_category($re_id=0,$flag=true){

$arr=array();

if($flag){

$sql = "select * from message a left join message b on a.userid=b.reid where b.userid is NULL";//查询第一级的数据,也就是userid没有在reid中出现过的数据

}else{

$sql = "select * from message where userid=$re_id";//查询子级数据

}

$result = array(a_object,b_object,,,)=sql_query($sql);//查询结果一个数组或列表格式

if($result){

foreach($result as $re){//循环数组

if(get_category($re.reid,false))//如果子级不为空

$re['receive'] = get_category($re.reid,false);

$arr[] = $re;

}

return $arr;

}


版权声明:本文为weixin_30788829原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。