我在我的网站上安装了一个显示简单新闻文章的脚本。在后端有一个包含所有数据库的.csv文件 - 前端包含这个代码(尽管我已将其更改为适合我自己的网站):
<?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个新闻项目。这显然会在页面底部创建一组链接,例如&lt; 1 2 3&gt;
我很抱歉,如果有很多要问的话 - 但我已经搜索了谷歌,并且只提出了解决使用MYSQL的网站问题的解决方案,而我不是。
http://dev.pixxl.us/bwc/news.php
三江源。
答案 0 :(得分:2)
你必须研究分页。工作流程应该是这样的 1)你有多少件? 2)每页要列出多少个? 3)定义了1&amp; 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> ';