1

我在我的网站上安装了一个显示简单新闻文章的脚本。在后端有一个包含所有数据库的 .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

谢谢你。

4

1 回答 1

2

你必须研究分页。工作流程应该是这样的 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> ';
于 2013-11-14T18:54:32.910 回答