我需要指导修复分页PHP代码

时间:2016-03-22 18:36:46

标签: php sorting pagination

我正在编写一段代码,为不同的分类系统进行分页。它适用于喜欢(排序系统)并正确输出,但不适用于标签的排序系统。

$sorting = $_GET["sorting"];
$page = $_GET["page"];

$per_page = 10;
$pages = $count_total->num_rows;
$total_pages = ceil($pages / $per_page);

if($sorting == "likes") {
    $count_total = $db2->query("SELECT * FROM likes WHERE user='$user'");
}

if($sorting == "tag") {
    $tag_name = $_GET["tag_name"];
    $count_total = $db2->query("SELECT * FROM movie_tags WHERE tag_id='$tag_name'");
}

$pages = $count_total->num_rows;
$total_pages = ceil($pages / $per_page);

$start = (($page - 1) * $per_page);


for ($number=1; $number<=$total_pages; $number++) {
    if($page == $number) {
        echo '<div class="complete_page">'.$number.'</div>';
    } else {
        $sorting = $_GET["sorting"];
        echo '<a href="?page='.$number.'&sorting='.$sorting.'"> <div class="number_page">'.$number.'</div></a>';
    }
}

这是我如何使用分页的一个例子:

$movie = $db2->query("SELECT * FROM movies ORDER BY likes DESC LIMIT $start, $per_page");

注意:当我回显$pages时,两个排序系统都会生成值。实际上,tag的值为11。为什么这个值不会创建分页系统。我知道这不是分页系统的问题,因为它适用于喜欢的分类系统。

1 个答案:

答案 0 :(得分:0)

要在php中加入分页,只需在查询中使用两个东西。

  1. 偏移
  2. 限制
  3. 例如,对于分页,查询看起来像

    Select * from table Limit 5 Offset 0
    

    在php中创建逻辑,获取产品数量并更改这两个值以进行分页