搜学在线有限公司PSHJGO

flash 和asp 分页的一点心得

发布时间:2023-07-22 04:52   已关注:19 人

最近无聊,做了一个自己bog的FLASH界面,用的blog是破废墟的版本. 看了这个的一些帖子,学到了很多东西,现在和大家一起分享 flash现在只是一个显示的功能,过程中看了一些别人的东西,觉得分页似乎有很简单的实现方式. 效果可以看我的: 基本上都是用xml传送的. 显示用 list 组件和 datagrid 都可以,这里我用的是动态文本,因为觉得组件用的太麻烦了. 所以用了蠢办法,没办法,找不到更好的~~~ 下面代码中的 list[..]就是动态文本的名趁,一次显示15条 //显示程序如下:
//桢名称 "list"
stop();
var logList = new XML();
var logroot;
var //当前页
var T //保存总页
var //总日志数
var //日志分类名称
var temp;
var i:Number;

//这里我用一个数组储存了对应的id号,如果用组件就不用这么麻烦了
var ids = new Array(15);

//两个按钮,用来翻页
= false;
= false;
if (page == null or pagepage = 1;
}
//------------------------------
//清除函数;
function myclear() {
for (i=1; iids[i-1] = 0;
list["lbn"+i]._visible = false;
list["ltitle"+i].text = "";
list["lauthor"+i] = "";
list["ltime"+i] = "";
}
}
//--------------------------------------
//--------------------------------------
myclear();
= "正在读取数据...";
= true;
("?log_cat="+cat_id+"&page="+page);
//------------------------------------------------
//get数据函数
function logFunc(e) {
if (e) {
logroot = ;
logname = ;
Tpage = ;
Tnum = ;
temp = ;
= Ftitle(, 22);
= ;
= ;
ids[0] = ;
i = 1;
= true;
//循环读取节点
while ( != null) {
temp = ;
i++;
//如果是用别的方式显示,只需要改一下就可以了
ids[i-1] = ;
list["lbn"+i]._visible = true;
list["ltitle"+i].text = Ftitle(, 22);
list["lauthor"+i] = ;
list["ltime"+i] = ;
}
= logname+"共有日志"+Tnum+"篇 共"+Tpage+"页 当前是第"+page+"页 "+"15/页";
= true;
= true;
} else {
= "当前没有日志。";
= "读取数据出错,请联系管理员!";
}
}

//一个自定义的格式标题的函数,怕标题太长
function Ftitle(s, n) {
if (length(s)>n) {
s = (0, n-1)+"...";
}
return s;
}
= logFunc;
//-------------------------------------
//按钮动作
Bn_up = new Object();
//按钮事件,判断页面大小是否超过值
= function(evt) {
if (page>1) {
--;
gotoAndPlay("cycle");
} else {
stop();
}
};
Bn_d = new Object();
= function(evt) {
if (++;
gotoAndPlay("cycle");
} else {
stop();
}
};
("click", Bn_up);
("click", Bn_d);

桢"cycle"只有一个话:
gotoAndPlay("list");
//形成一个简单的循环

:
//log 是我的日志表 ,log_cat是分类表
下面的asp很清楚了


= "text/xml"
= "no-cache"
"Pragma", "no-cache"
= 0
dim log_cat,page,pageSize,Tnum,Tpage,log_name
page=TreeRequest("page",1)
log_cat=TreeRequest("log_cat",1)
pageSize=15
call Tree_rs
if log_cat=0 or log_cat="" then
sql="select * from log order by written_time DESC,log_ID DESC"
else
sql="select * from log,log_cat where = and cat_id="&log_cat&" order by written_time DESC,log_ID DESC"
End if
sql,conn,1,1
=pageSize
Tnum=
Tpage=Int(Tnum/pageSize*-1)*-1
if page="" then page=1
if Tnum0 then =page
if log_cat=0 or log_cat="" then
log_name="[全部分类]"
else
log_name="["&rs("cat_name")&"]"
End if
’以下输出xml
’------------------------------------------------
("")
if then

else
do while not and pageSize>0
("")
("")
pageSize=pageSize-1

loop

End if
//关闭rs
call Tree_rsclose
call Tree_conclose
("")
%> 代码好象很乱,希望能对正在做这个的朋友有点帮助,如果以上有bug,请指教