限制每页显示的数据库条目数

时间:2016-06-18 22:51:28

标签: php html

我们如何选择just,让每个页面输入12个数据库条目,然后再将12个推送到下一页,依此类推?等等?

这将是来自boostrap的分页,所以:

question.choice_set.all()

如果它有帮助,这里有一些php,这只是我用来抓取和显示entires的基本形式,但它们现在都出现在一个页面上。

<ul class="pagination">
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">5</a></li>
</ul>

2 个答案:

答案 0 :(得分:1)

根据您的代码示例,您可以在查询中轻松使用LIMIT和OFFSET来启用分页。

SELECT title, whole FROM stories LIMIT 12 OFFSET 0

以上查询将显示12个结果。

<?php
$per_page = 12;
$id = (empty($_GET['id'])) ? 0 : $_GET['id'] ;
$offset = $per_page * $id;
$query = "SELECT title, whole FROM stories LIMIT :limit OFFSET :offset";
$stmt = $db->prepare($query);
$stmt->bindParam(":limit", $per_page, PDO::PARAM_INT);
$stmt->bindParam(":offset", $offset, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//delete this-> $info = mysql_fetch_array($query1);   ?
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{

    ?>
    <div class="left">
       <a href="">
          <span class="text-content"><span><?php echo htmlentities($row["whole"]); ?></span></span>
       </a>
    </div>
    <?php
}

这未经过测试,但它应该指向正确的方向。

Here is a link to a more in-depth explanation

答案 1 :(得分:0)

要获取可以使用SELECT COUNT(*) AS num_rows FROM stories查询的帖子总数,请将每页帖子的帖子总数除以构建分页链接。

要检索当前页面的帖子,请使用LIMIT子句[LIMIT {[offset,] row_count | row_count OFFSET offset}]构建查询,例如:

$post_per_page = 12;
$page = $_GET['page'];

$sql = sprintf( "SELECT title, whole FROM stories LIMIT %d, %d", $post_per_page*$page, $post_per_page );

MySql SELECT Syntax