首页 > 后端开发 > php教程 > php怎么每页读取三条xml数据

php怎么每页读取三条xml数据

WBOY
发布: 2016-06-13 10:17:43
原创
1075 人浏览过

php如何每页读取三条xml数据?
以下代码可以将“9.xml”的shortdesc字段全部读出:
-------------------------------------------
$xml_array=simplexml_load_file('9.xml'); //将XML中的数据,读取到数组对象中

foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}

?>
---------------------------------------------
由于数据量非常大,我想实现的是每页只显示三条数据,当点击“下一步”按钮时,就接着显示下三条数据,直到数据全部显示完成,再点“下一步”按钮时,页面没有变化。请教如何实现?最好有代码,谢谢了。

------解决方案--------------------
你原来是这样输出的
foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}

要这样输出才行
$page = ($_GET['page'] - 1) * 3;
for($i=$page; $i echo $xml[$i]->shortdesc."
";
}

------解决方案--------------------
老大的代码够明了的了
// 获取数组
$xml_array=simplexml_load_file('9.xml');
// 从第几条开始。你不是要求分页嘛,分页的话总得有个数据起始位置和偏移量。

// 那么这个数据起始位置就是 $page。 假设你要第2页,那么传入参数$_GET['page'] === 2
// (2-1)*3 即是 3 。这是按数组键值取得数据的,数组的键值从0开始。那么 0,1,2就是第一页,3,4,5就是第二页
$page = ($_GET['page'] - 1) * 3;
// 循环3次,计算看看$i每次的值,分别是 3, 4, 5 。那么就是上面说的取键值为3,4,5的数据
for($i=$page; $iecho $xml[$i]->shortdesc."
";
}
// 下一页的链接传入的参数就是 $_GET['page'] + 1 喽
------解决方案--------------------
那就是你的不对了,你从一开始就没有提供正确的信息
你的
foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}
并不能输出文档内容
要这样才可以
foreach($xml_array->news->new as $tmp){
echo $tmp->shortdesc."
";
}

而 $xml_array->news->new 是一个数组,于是
$xml = $xml_array->news->new;
$page = min(3, count($xml)-3);
for($i=$page; $i echo $xml[$i]->shortdesc."
";
}
就成立了

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板