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