php 无限级数据JSON格式及JS解析
前端之家收集整理的这篇文章主要介绍了
php 无限级数据JSON格式及JS解析,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Flash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~)
<div class="codetitle"><a style="CURSOR: pointer" data="86669" class="copybut" id="copybut86669" onclick="doCopy('code86669')"> 代码如下:
<div class="codebody" id="code86669">
//--
查询用户下线信息,返回JSON,用于flash
if(!empty($_GET['action'])&&!empty($_GET['invite'])){
//固定参数请求才会返回信息
if($_GET['action']=='getinfo'&&$_GET['invite']==1){
//数据实体,一个实体类
class UcInvite{
//---
显示用的数据信息
public $fuid; //
用户id
public $funame; //
用户名 public $furl; //
用户空间地址
//---
显示用的数据信息
public $fchilds; //子类集合
}
$invitecount = 0; //总
数量,用于记录全部下线
数量 //递归
实现方法 function GetShowTreeInvite($uid){
global $_SGLOBAL,$invitecount;
//组织
sql语句并
查询,表中fuid是下线的id,uid是父id,fusername是
用户名字
$inv_
sql = "select fuid,fusername from ".tname("invite")." where uid = ".$uid;
$inv_query = $
SGLOBAL['db']->query($invsql);
//下表及返回数组
$index = 0;
$inviteTree = Array();
$invitezcount = 0; //每个子类下的
数量 //循环
添加信息到数组
while($v = $_SGLOBAL['db']->fetch_array($inv_query)){
$ui = new UcInvite();
$ui->fuid = $v['fuid'];
$ui->funame = $v['fusername'];
$ui->furl = "/home/space.
PHP?uid=".$v['fuid'];
//
调用自己,递归
查询子类信息
$ui->fchilds=GetShowTreeInvite($v['fuid']);
//插入返回的数组中
$inviteTree[$index]=$ui;
$index++;
$invitecount++;
$invitezcount++;
}
//记录当前下线的下线
数量 $inviteTree['invitezcount'] = $invitezcount;
//返回数组信息
return $inviteTree;
}
$fuid = empty($_GET['fuid'])?$space[uid]:$_GET['fuid'];
//根据当前
登录用户ID
查询信息,并返回一个集合
$inviteTree = GetShowTreeInvite($fuid);
//记录总下线数
$inviteTree['invitecount'] = $invitecount;
//引入json库,这里用的是Services_JSON
//因为并不确定服务器都是
PHP5.2以上版本,所以没有用
自带的JSON
函数 require_once('../plugins/JSON/JSON.
PHP');
//json
输出 $json = new Services_JSON();
echo $json->encode($inviteTree);
exit;
}else{
echo '请求参数
错误!';
exit;
}
}
//--
查询用户下线信息,返回JSON,用于flash
{'0':{'fuid':'950','funame':'郭梓原','furl':'/home/space.