【发布时间】:2022-01-20 22:19:43
【问题描述】:
数小时以来,我一直在努力研究如何做到这一点,我设法使用 OFFSET 和 FETCH 获取查询,这将设置要显示的结果数量以及从哪个数字开始,但似乎无法弄清楚如何实际在页脚中使用我的分页,使其显示在新页面上。
对 html、css、php 和 mysql 非常陌生,因此可以边学习边学习,但很难找到有意义的教程。
<?php
$sql = "SELECT STEAM_ID, Hunters, Smoker, Boomers, Spitters, Jockeys, Charger,
(Hunters + Smoker + Boomers + Spitters + Jockeys + Charger) as Total_Kills
FROM Special_Infected_Kills ORDER BY Total_Kills DESC";
$result = $conn->query($sql);
if ($result = $conn->query($sql)) {
echo "<table><tr>
<th>Player</th>
<th>Total Kills</th>
<th>Hunter</th>
<th>Jockey</th>
<th>Charger</th>
<th>Smoker</th>
<th>Boomer</th>
<th>Spitter</th>
</tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr>
<td>".$row["STEAM_ID"]."</td>
<td>".$row["Total_Kills"]."</td>
<td>".$row["Hunters"]."</td>
<td>".$row["Boomers"]."</td>
<td>".$row["Spitters"]."</td>
<td>".$row["Jockeys"]."</td>
<td>".$row["Charger"]."</td>
<td>".$row["Smoker"]."</td>
</tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
我的页脚
<footer>
<div class="center">
<div class="pagination">
<a href="#">«</a>
<a href="#" class="active">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#">5</a>
<a href="#">6</a>
<a href="#">»</a>
</div>
</div>
<div class="createdby">
<p> Website built & designed by Blade </p>
</div>
</footer>
所以几乎只希望第一页上的前 20 个结果,然后通过单击页脚中的分页在另一页上每隔 20 个结果
【问题讨论】:
-
知道表中的记录总数很重要,这样您就可以计算出每页有 X 条记录的页数。上面没有详细说明任何这些计算。请添加您迄今为止尝试过的代码以执行结果的
pagination -
answer here 用 cmets 总结了一切。两个查询,一个用于总计数,一个用于当前集合。在 url 中传递页码。对 MySQL 使用准备好的语句。以及一些简单的数学计算来确定总页数。
-
另外,一个查询中有 ways to count the total rows 和 LIMIT,但它取决于平台,可能比第二个查询慢。