【问题标题】:Pagination : get total number of page分页:获取总页数
【发布时间】:2017-04-04 11:19:53
【问题描述】:

我正在为应用程序制作 Web 服务

我有一个以分页方式获取数据的 SQL 查询。

我想要获得的数据的总页数。

  $limit = 10; // limit of 10 records
  $offset = ($page_number -1) * $limit; // calculate offset

 $userQuery="SELECT faq_question, faq_answer FROM `faq` WHERE faq_event_id = $event_id
                    LIMIT $limit 
                     OFFSET $offset";

以上是我的查询。

$page_number 将是要传递的参数。

如何根据特定条件获取用于显示所有数据的总页数。

谢谢。

【问题讨论】:

  • $total_pages = $total_records / $limit 您只需要使用没有偏移和限制的查询来查找总记录。

标签: php web-services pagination


【解决方案1】:

您应该计算所有记录的数量,然后对其进行计算。

count(total_records)/total_records_per_page

它将为您提供您想要获得的总页数

【讨论】:

  • 假设我从 $number=mysqli_num_rows($result) 获得了 40 条记录,并且我的 $limit 为 10,所以我使用公式作为 $total_page = $number / $limit; 得到 4 页我做对了吗?
【解决方案2】:
// I guess you use mysqli
// use another query without limitation
$result = $mysqli->query("SELECT faq_question, faq_answer FROM `faq` WHERE faq_event_id = $event_id");

// total row count
$row_cnt = $result->num_rows; 

// total pages
$pages = ceil($row_cnt/$limit);  

我在这里所做的,首先计算数据库中的总行数,然后我使用限制来划分总行数。我使用ceil 向上取整。(echo ceil(6.3); // 7 页)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多