将 PHP 输出拆分为多个页面


Splitting PHP output into multiple pages

我已经在我的网站上安装了一个脚本,显示简单的新闻文章。在后端有一个包含所有数据库的.csv fie - 前端由以下代码组成(尽管我已经更改了它以适应我自己的网站):

<?php  
//get news class and array  
include_once('newsadmin/includes/newsTools.class.inc.php');  
$newsTools      = new newsTools('csv/news.csv');  
$news_headlines = $newsTools->getNewsArray();  
//output news array as formatted html  
if (!count($news_headlines)>0){  
    echo '<p>There are currently no news headlines.</p>';  
}else{  
    foreach ($news_headlines as $key => $item){  
        list($news_id,$news_date,$news_title,$news_body) = $item;  
        $formatted_date = date('F j, Y, g:i a',$news_date);  
echo <<<HTML  
<a name="$news_id" id="$news_id"></a>  
<h3>$news_title</h3>  
$news_body  
<p><em>Posted: $formatted_date</em></p>  
<hr />  
HTML;  
    }  
}  
?>  

我正在尝试找到一种将新闻结果拆分到多个页面上的解决方案 - 例如每页最多 10 条新闻。这显然会在页面底部创建一组链接,例如 <1> 2 3>

如果有很多问题要问,我深表歉意 - 但我已经搜索了谷歌,并且只提出了解决使用 MYSQL 的网站问题的解决方案,而我没有。

http://dev.pixxl.us/bwc/news.php

谢谢。

你必须

研究分页。工作流程应该是这样的1) 您有多少物品?2)您想每页列出多少个?3)定义1和2后,您有多少页?4) 您当前在哪个页面?5) 应该根据 4 显示什么数据集?6) 准备页面链接

# number 1
$total_items = count($news_headlines);
# number 2
$perpage = 10;
# number 3
$total_pages = ceil($total_items/$perpage);
# number 4 (you have to decide on the _GET parameter you are going to use, like page.php?page=2 etc.
$current_page = ($_GET['page'] == '') ? 1:$_GET['page'];
# number 5
$offset = ($current_page-1)*$perpage;
$news_headlines = array_slice($news_headlines,$offset,$perpage);
# number 6
for ($i=1; $i<=$total_pages; $i++) echo '<a href="page.php?page='.$i.'">'.$i.'</a> ';