【问题标题】:Why is my pagination PHP code not working?为什么我的分页 PHP 代码不起作用?
【发布时间】:2016-03-22 12:48:57
【问题描述】:

我正在编写一段代码,为不同的排序系统进行分页。它适用于likes并正确输出,但不适用于tag的排序系统。

 $sorting = $_GET["sorting"];

$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。为什么这个值没有创建分页系统。我知道这不是分页系统的问题,因为它适用于喜欢的排序系统。

【问题讨论】:

标签: php pagination


【解决方案1】:

尝试将您的查询更改为:

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

这应该将行数设置为从 $start 开始的 $per_page。

【讨论】:

  • 没有用。请忽略我的分页示例。这只是一个示例,与我的问题没有直接关系。
  • $start = (($page - 1) * $per_page);这是否意味着是 $pages 而不是 $page.我可能是盲人,但我找不到 $page 的初始化位置。
  • 本来就是这样的。你是对的,我跳过了 $page。 $page 只是获取 url 的页面部分:movies.php?page=1
【解决方案2】:

您应该尝试在 SQL 查询中删除 $tag_name 周围的 2 个单引号。 我的意思是:

$count_total = $db2->query("SELECT * FROM movie_tags WHERE tag_id=".$tag_name);

由于您的标记值为 11,我相信您的数据库列名为 tag_id 是一个整数。使用这两个单引号,您可以将其与字符串/varchar '11' 进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 2014-01-23
    • 2013-08-06
    • 2017-02-07
    • 2016-02-24
    相关资源
    最近更新 更多