0秒分页读取XML节点算法 PHP+Ajax+XML实现
关键词:XML,PHP Ajax XML,tag php,PHP XML AJAX,PHP,JS,Javascript,iNow,edwardhey
edwardhey:
0秒分页读取XML节点算法 PHP+Ajax+XML实现
通过<span href="tag.php学习PHP+XML+AJAX了一段时间 发现真的是魅力无限阿;P
通过PHP把要分页的内容生成XML,然后通过JS把XML文件全部内容读入JS数组,再通过Javascript来读取节点内容就可以实现0秒快速分页
分析了下,核心的内容就在于Javascript怎样去读取节点了,我是通过for循环实现的,这样就可以简单的处理通俗PHP分页程序出现的重复问题(也就是当前页最后一条会和下一页的第一条出现重复):复制内容到剪贴板代码:var iPre;//每页显示数目,通过生成的XML获取
var iNow;//要读取的页码
for(var i=iPre(iNow-1)+1;i<=iPre*iNow;i++){
//现在就可以读取生成的XML节点了
}测试下:
当iPre = 10,iNow = 1时,显示1~10内容;
当iPre = 10,iNow = 2时,显示11~20内容;
....
不过当要分页的内容过多的时候也完全可以通过算法来优化下结构;P,小弟不才,望大家多多指教
[ 本帖最后由 edwardhey 于 2006-12-21 08:53 编辑 ]
edwardhey:
PHP程序代码。。。还有前面的内容就不说了哈~千篇一律的东西了;P复制PHP内容到剪贴板PHP代码:echo "<?xml version=""1.0"" encoding=""UTF-8""?>";
echo "<logs>";
while($l_arr = $log->fetch_array()){
$b_content = $l_arr['b_content'];
$b_utime = $l_arr['b_utime'];
$b_content = strip_tags($b_content);
$b_content = mb_strimwidth($b_content,0,300,"......",'UTF-8');
if ($b_utime == "") {
$b_utime ="暂无更新";
}
?>
<log>
<b_id><?php echo $l_arr['b_id']; ?></b_id>
<b_title><?php echo $l_arr['b_title']; ?></b_title>
<b_content><?php echo $b_content; ?></b_content>
<b_time><?php echo $l_arr['b_time']; ?></b_time>
<b_utime><?php echo $b_utime; ?></b_utime>
<b_browers><?php echo $l_arr['b_browers']; ?></b_browers>
<b_remark><?php echo $l_arr['b_remark']; ?></b_remark>
</log>
<?php
}
?>
</logs>
默默:
不错,呵呵
kenus:
<img src="images/smilies/default/victory.gif" smilieid="145" border="0" alt="" /> <img src="images/smilies/default/victory.gif" smilieid="145" border="0" alt="" /> <img src="images/smilies/default/victory.gif" smilieid="145" border="0" alt="" /> :victory:
visam:
顶楼主。。。