一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php 無限級數(shù)據(jù)JSON格式及JS解析

Flash需要JSON格式的數(shù)據(jù),于是,就有了如下代碼:(php實(shí)現(xiàn),C#類似,JSON庫自己去下吧~~)
復(fù)制代碼 代碼如下:
//--查詢用戶下線信息,返回JSON,用于flash
if(!empty($_GET['action'])&&!empty($_GET['invite'])){
//固定參數(shù)請求才會返回信息
if($_GET['action']=='getinfo'&&$_GET['invite']==1){
//數(shù)據(jù)實(shí)體,一個實(shí)體類
class UcInvite{
//---顯示用的數(shù)據(jù)信息
public $fuid; //用戶id
public $funame; //用戶名
public $furl; //用戶空間地址
//---顯示用的數(shù)據(jù)信息
public $fchilds; //子類集合
}
$invitecount = 0; //總數(shù)量,用于記錄全部下線數(shù)量
//遞歸實(shí)現(xiàn)方法
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);
//下表及返回?cái)?shù)組
$index = 0;
$inviteTree = Array();
$invitezcount = 0; //每個子類下的數(shù)量
//循環(huán)添加信息到數(shù)組
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'];
//調(diào)用自己,遞歸查詢子類信息
$ui->fchilds=GetShowTreeInvite($v['fuid']);
//插入返回的數(shù)組中
$inviteTree[$index]=$ui;
$index++;
$invitecount++;
$invitezcount++;
}
//記錄當(dāng)前下線的下線數(shù)量
$inviteTree['invitezcount'] = $invitezcount;
//返回?cái)?shù)組信息
return $inviteTree;
}
$fuid = empty($_GET['fuid'])?$space[uid]:$_GET['fuid'];
//根據(jù)當(dāng)前登錄用戶ID查詢信息,并返回一個集合
$inviteTree = GetShowTreeInvite($fuid);
//記錄總下線數(shù)
$inviteTree['invitecount'] = $invitecount;
//引入json庫,這里用的是Services_JSON
//因?yàn)椴⒉淮_定服務(wù)器都是php5.2以上版本,所以沒有用自帶的JSON函數(shù)
require_once('../plugins/JSON/JSON.php');
//json輸出
$json = new Services_JSON();
echo $json->encode($inviteTree);
exit;
}else{
echo '請求參數(shù)錯誤!';
exit;
}
}
//--查詢用戶下線信息,返回JSON,用于flash

以上代碼返回一個JSON字符串,如:
{'0':{'fuid':'950','funame':'郭梓原','furl':'/home/space.php?uid=950','fchilds':{'invitezcount':0}},'invitezcount':1,'invitecount':1}
這里只查詢了一個
接下來用JS進(jìn)行以下解析:
復(fù)制代碼 代碼如下:
<script type="text/Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/Javascript">
//fuid 用戶ID
//funame 用戶名稱
//furl 用戶主頁地址
//invitezcount 每個用戶的子類數(shù)量
//invitecount 該用戶的所有下級數(shù)量
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+="<br/>";
}
}
}
if(one=="invitezcount"||one=="invitecount"){
str+=qi+one+"="+obj[one]+"<br/>";
}
}
}
//固定參數(shù)do=charadegarden&action=getinfo&invite=1,fuid為測試時使用,不填寫將調(diào)用系統(tǒng)當(dāng)前登錄的用戶ID
var url = 'http://localhost/home/space.php?do=charadegarden&action=getinfo&invite=1&fuid=344';
$.get(url,function(html){
//獲得json并轉(zhuǎn)為對象
if(html){
var obj = eval("["+html+"]");
GetShow(obj[0],"",1)
document.write(str);
document.write("<br/><br/><br/><br/>");
document.write("<b>JSON格式:</b><br/>");
document.write(html);
}
});
</script>

這樣,兩個無限級的操作就完成了,結(jié)果截圖:

珍惜勞動成果,雖說內(nèi)容不多,可是也是一個一個字打上的,轉(zhuǎn)載請注明!!關(guān)注愛拼可樂吧

php技術(shù)php 無限級數(shù)據(jù)JSON格式及JS解析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 99pao成人国产永久免费视频 | 亚洲精品影院 | 美女久久 | 伊人狠狠色j香婷婷综合 | 亚洲综合在线观看一区 | 99久久精品国产亚洲 | 亚洲欧美成人影院 | 中文字幕在线视频第一页 | 唐人社电亚洲一区二区三区 | 国产精品自产拍2021在线观看 | 欧美特黄一免在线观看 | 国产精品亚洲四区在线观看 | 怡红院美国 | 黄免费在线观看 | 一区二区三区在线 | 国语自产精品视频在线第 | 一区二区三区免费在线观看 | 欧美欧美乱码一二三区 | 免费精品一区二区三区第35 | 伊人精品视频在线观看 | 国产成人综合精品一区 | 国产成人啪精品视频免费网站软件 | 在线网站黄色 | 韩国免费毛片在线看 | 有一婷婷色 | 在线午夜视频 | 久久se精品动漫一区二区三区 | 综合久久五月天 | 国产专区视频 | 久久艹伊人 | 国产小视频在线播放 | 五月婷香 | 国产日韩欧美二区 | 国产婷婷一区二区三区 | 女色窝777777 | 另类天堂网 | 丁香婷婷在线观看 | 色一本 | 亚洲一区二区在线 | 久久人人爽人人爽人人片宅男 | 激情福利视频 |