参见英文答案 > How to Paginate lines in a foreach loop with PHP 2个
下面是我用于解析XML文件的代码,但是文件有很多记录,我想对它进行分页,每页显示20条记录.
我还想在页面底部的分页链接,以便用户也可以转到其他页面.它应该是这样的,如果没有给出值,那么它将从0开始到20否则如果值是2从40开始并且停止在60,test.php?page = 2.
$xml = new SimpleXMLElement('xmlfile.xml', 0, true);
foreach ($xml->product as $key => $value) {
echo "sku}\">$value->name";
echo "
";
}
解决方法:
这样的事情应该有效:
$startPage = $_GET['page'];
$perPage = 10;
$currentRecord = 0;
$xml = new SimpleXMLElement('xmlfile.xml', 0, true);
foreach($xml->product as $key => $value)
{
$currentRecord += 1;
if($currentRecord > ($startPage * $perPage) && $currentRecord < ($startPage * $perPage + $perPage)){
echo "sku}\">$value->name";
//echo $value->name;
echo "
";
}
}
//and the pagination:
for ($i = 1; $i <= ($currentRecord / $perPage); $i++) {
echo("".$i."");
} ?>
标签:php,xml,parsing,pagination,simplexml
来源: https://codeday.me/bug/20190927/1824578.html