-2

データベースからの情報(記事名、記事の作成者など)を表示するページ(.php)で作業しています。また、適切に機能するページ付けスクリプトもあります(ページ付けスクリプトのアイデアは、サイトのURLのリンクを押すことです。 ?page = 2のようになります)ここで、フォームデータベースに表示するレコードに番号を付けようとしますが、どうすればよいですか?

ページネーションスクリプト:

$per_pages = 6;
$nrofarticles_query = mysql_query("SELECT COUNT('id') FROM tbl_articles");
$nrdearticole = mysql_result($nrofarticles_query, 0);
$totalpages = ceil($nrdearticole/$per_pages);
$currentpagedisplay = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$firstpair = ($currentpagedisplay - 1) * $per_pages;

私は次のようにデータベースからレコードをエコーし​​ます:

$articles_set = mysql_query("SELECT * FROM tbl_articles LIMIT $firstpair, $per_pages");
while($article = mysql_fetch_array(article_set)){
     echo $article['article_name'];
}

したがって、ページ変更時にデータベースから6つのレコードを表示し、次の6つのレコードを表示するか、6未満の場合は残りのレコード数を表示します。次のようにレコードに番号を付けるにはどうすればよいですか。

?page=1
1 article_name1
2 article_name2
3 article_name3
....
6 article_name6

?page=2
keep going
7 article_name7
8 article_name8
.....

編集

私は次のようなことを考えていました

    <?php
    $nrofarticles = 0;
    $articles_set = mysql_query("SELECT * FROM tbl_articles LIMIT $firstpair,$per_pages");
    confirm($articles_set);
    while($article = mysql_fetch_array($articles_set)){
        $nrofarticles ++;
    }
    echo "<ul id=\"id\">";
        for($i = $firstpair+1; $i<=$nrofarticles * $currentpagedisplay; $i++){
                echo '<li class="nr_id">' .$i. '<sub>#</sub></li>';
        }
    echo "</ul>";
?>

動作しますが、合計16の記事があるため、3の最初の2ページのみです。最後のページでは$ firstpair + 1は13になり、$ nrofarticles * $ currentpagedisplayは12(4(articles)* 3(page = 3)になります。 )。

4

1 に答える 1

0

フレームワークを使用してください。ページネーション (およびあらゆる種類の追加機能) を無料で入手できます。

于 2012-08-30T09:55:33.753 に答える