1

簡単なニュース記事を表示するスクリプトを Web サイトにインストールしました。バックエンドには、すべてのデータベースを含む .csv ファイルがあり、フロントエンドは次のコードで構成されています (ただし、自分の Web サイトに合わせて変更しました)。

<?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;  
    }  
}  
?>  

ニュース結果を複数のページに分割する解決策を見つけようとしています。たとえば、1 ページあたり最大 10 のニュース アイテムです。これにより、明らかにページの下部に < 1 2 3 >のような一連のリンクが作成されます。

質問が多い場合は申し訳ありませんが、私はすでにグーグルをトロールしており、MYSQLを使用しているサイトの問題に対処するソリューションしか考えていませんが、そうではありません.

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

ありがとうございました。

4

1 に答える 1

2

ページネーションを調査する必要があります。ワークフローは次のようになります。 1) アイテムはいくつありますか? 2) 1 ページに何件掲載しますか? 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 に答える