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

它有效,但仅在 3 的前 2 页,因为我总共有 16 篇文章 - 所以在最后一页 $firstpair + 1 将是 13 并且 $nrofarticles * $currentpagedisplay 将是 12(4(articles) * 3(page=3) )。

4

1 回答 1

0

Go use a framework. You'll get pagination (and all sorts of extras) for free.

于 2012-08-30T09:55:33.753 回答