如何使用PHP MySQLi面向对象制作分页系统

时间:2017-05-17 14:13:42

标签: php mysqli pagination

我尝试了4天关于制作分页系统,但我无法理解互联网上的任何代码,因为我是新手。

这是我的代码:

$sql = "SELECT name_id, name FROM TABLE WHERE tag1 in ('$tag1') OR tag2 in ('$tag1') $andor tag2 in ('$tag2') OR tag1 in ('$tag2') ORDER BY rating desc LIMIT 5 OFFSET 0";



$result = $conn->query($sql);

分页HTML代码:

   <div class='pagination'>
      <a>1</a>
   </div> 

我不知道该怎么办。你能解释一下这段代码吗?

1 个答案:

答案 0 :(得分:0)

首先,您需要计算记录数,以便计算页数。

$row_count = $con->query("SELECT count(name_id) FROM TABLE WHERE tag1 in ('$tag1') OR tag2 in ('$tag1') $andor tag2 in ('$tag2') OR tag1 in ('$tag2') ORDER BY rating desc LIMIT 5 OFFSET 0";");

现在您可以计算页数$row_count/5(如果您希望每次显示5个结果,则为5)

然后在您生成的页面上,您需要创建一组链接,这些链接调用同一页面但页码不同

<a href="/page.php?page=2>2<a>
<a href="/page.php?page=3>3<a>
...

然后您需要使用page值作为查询的偏移量。

 $offset = 5*$_GET['page'];
 $sql = "SELECT name_id, name FROM TABLE WHERE tag1 in ('$tag1') OR tag2 in ('$tag1') $andor tag2 in ('$tag2') OR tag1 in ('$tag2') ORDER BY rating desc LIMIT 5 OFFSET $offset";