如何使用 PHP MySQLi Object-oriented 制作分页系统



我尝试了 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> 

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

首先,

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

$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";

最新更新