Flash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~)

复制代码 代码如下:

//–查询用户下线信息,返回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($inv_sql);

//下表及返回数组

$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

以上代码返回一个JSON字符串,如:

{‘0’:{‘fuid’:’950′,’funame’:’郭梓原’,’furl’:’/home/space.php?uid=950′,’fchilds’:{‘invitezcount’:0}},’invitezcount’:1,’invitecount’:1}

这里只查询了一个

接下来用JS进行以下解析:

复制代码 代码如下:

//fuid 用户ID

//funame 用户名称

//furl 用户主页地址

//invitezcount 每个用户的子类数量

//invitecount 该用户的所有下级数量

var str = “”;

function GetShow(obj,qi,index){

for (var one in obj)

{

for(var key in obj[one])

{

index++;

if(key==”fchilds”&&obj[one][key][‘invitezcount’]!=0){

var aqi = qi;

if(index>1)aqi+=” ”

GetShow(obj[one][key],aqi,index)

}

if(key != ‘fchilds’){

if(key==”fuid”){

str += qi+key+”=”+obj[one][key] + “,”;

}else{

str += key+”=”+obj[one][key] + “,”;

}

if(key == “furl”){

str+=”

“;

}

}

}

if(one==”invitezcount”||one==”invitecount”){

str+=qi+one+”=”+obj[one]+”

“;

}

}

}

//固定参数do=charadegarden&action=getinfo&invite=1,fuid为测试时使用,不填写将调用系统当前登录的用户ID

var url = ‘http://localhost/home/space.php?do=charadegarden&action=getinfo&invite=1&fuid=344’;

$.get(url,function(html){

//获得json并转为对象

if(html){

var obj = eval(“[“+html+”]”);

GetShow(obj[0],””,1)

document.write(str);

document.write(“

“);

document.write(“JSON格式:

“);

document.write(html);

}

});

这样,两个无限级的操作就完成了,结果截图:

珍惜劳动成果,虽说内容不多,可是也是一个一个字打上的,转载请注明!!关注爱拼可乐吧

www.bkjia.comtrueTechArticleFlash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~) 复制代码 代码如下: //–查询用户下线信息,返回J…

php使用 js格式解析,php 无限级数据JSON格式及JS解析_PHP教程相关推荐

  1. Highmaps重庆地图数据JSON格式

    Highmaps重庆地图数据JSON格式 Highmaps重庆地图数据JSON格式 下载链接: http://pan.baidu.com/s/19CmOu 密码: yz5b 重庆地图数据JSON

  2. JS使用XMLHttpRequest对象POST收发JSON格式数据

    JavaScirpt中的XMLHttpRequest对象提供了对 HTTP 协议的完全访问,使用该对象可以在不刷新页面的情况与服务器交互数据.XMLHttpRequest是实现AJAX技术的关键对象, ...

  3. swift:使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据

    在我的博客(下面)两个实验的基础上,使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据,参照视频实现的"天气信息"小实验 1 创 ...

  4. SpringCloud工作笔记047---FastJson解析多级JSON_FastJson解析嵌套JSON_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

    JAVA技术交流QQ群:170933152 解析嵌套json,这里说一下: //下面可以通过解析多级json的方式,获取数据,插入到数据库 //JSONObject userJsonObj = JSO ...

  5. sql解析json格式字段、sql关联json格式字段,mysql解析json、sql解析json字符串

    sql解析json格式字段.sql关联json格式字段,mysql解析json.sql解析json字符串 sql解析字符串 sql关联json中的某个字段 sql解析字符串 表名user_login ...

  6. Node.js:项目中的 package.json 格式

    1. node.js 项目包下的 package.json : 实例: {"name" : "chatroooms","version" : ...

  7. [数据][json格式] 2016年统计用区划代码和城乡划分代码

    [数据][json格式] 2016年统计用区划代码和城乡划分代码 2013 年的时候写过一篇 [数据][xml格式] 2012年统计用区划代码和城乡划分代码. 到了今天,我需要某省的省市县乡村五级数据 ...

  8. Highmaps上海地区地图数据JSON格式

    Highmaps上海地区地图数据JSON格式 下载链接: http://pan.baidu.com/s/1c0sDblI 密码: anie 上海区域 Highmaps

  9. Highmaps的天津地图数据JSON格式

    Highmaps的天津地图数据JSON格式 Highmaps的天津地图数据JSON格式 下载链接: http://pan.baidu.com/s/1eQgxECU password: tjmj 天津地 ...

最新文章

  1. 前端ui 后台管理系统 简洁_Github上前端不可不知的可视化后台管理系统(1)
  2. nano编辑器使用教程
  3. SQL语句AND 和 OR执行的优先级
  4. UDO report generate DDIC table
  5. FFmpeg中MPEG-4编码程序追踪,其他FFMPEG自带编码器同理
  6. [Css] 使用css如何拉伸字体?
  7. C++中static关键字作用总结
  8. 应用实战:从Redis到Aerospike,我们踩了这些坑
  9. 创业日记:进入电子商务领域,需未雨绸缪,更要步步谨慎
  10. 计算机网络(第七版)谢希仁编著 第四章课后答案详解
  11. 网站后端_Python+Flask.0003.FLASK快速入门之Hello Word?
  12. Eviews做ARIMA模型
  13. Activiti7修改内部缓存为redis
  14. 视频教程-办公自动化,不求人!-Office/WPS
  15. win10添加网络打印机_Win7系统添加网络共享打印机
  16. word打开html显示空白,电脑打开Word文档内容显示不全或显示空白怎么办
  17. 【12月原创】RT-thread - 柿饼UI学习心得分享
  18. 图灵 | 计算机器与智能
  19. Symantec Backup Exec 2010 Agent For Linux安装
  20. 大气快速辐射传输模型RTTOV12.2安装教程及心得体会

热门文章

  1. 送40本书,人人有份!
  2. Bengio亲自授课,英国皇家院士参与,这份机器学习在线课别错过丨免费
  3. 清华北大南大全面“线上开学”,10 大直播神器齐亮相!
  4. %matplotlib inline的含义
  5. CTFHUB HTTP请求方式 HTTP 请求方法, HTTP/1.1协议中共定义了八种方法(也叫动作)来以不同方式操作指定的资源。
  6. ACMNO.9求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),n由键盘输入。 输入 n 输出 a=2 时
  7. Ping命令 参数介绍!
  8. 基于Pytorch的从零开始的目标检测 | 附源码
  9. 基于转移学习的图像识别
  10. 009-回归测试的测试范围是什么?