基本上我有一个排名页面,我正在为我的CS:GO服务器工作。到目前为止它工作正常,看起来像这样:
https://puu.sh/aJlTj/b6fb5a7a06.png
下一页箭头工作正常,但问题是,在第3页以上,它是空的,因为服务器上还没有更多玩家,它看起来像这样:
https://puu.sh/aJlXH/7e69071a2b.png
我正在使用Make multiple pages out of a mysql query的答案来为所有玩家创建页面。
我的桌面打印部分看起来像这样:
echo "<div class='TableGen'><table border='1'><tr><td>Name</td><td>Wins</td><td>Losses</td><td>ELO</td></tr>";
$query = mysqli_query($db, "SELECT * FROM multi1v1_stats ORDER BY wins DESC LIMIT $offset,15");
while($row = mysqli_fetch_array($query)) {
echo "<tr><td>" . $row['name'] . "</td><td>" . $row['wins'] . "</td><td>" . $row['losses'] . "</td><td>" . $row['rating'] . "</td></tr>";
}
?>
</table>
使用$offset
声明 $offset = 15 * intval($_GET['page']);
,除非它是第一页,然后将其设置为0.
据我所知,只要有数据要发布,这段代码只会回显<tr><td></td></tr>
,所以如何检查页面的单元格是否为空,然后回显空单元格? (由于这个原因,我不能使用empty-cells: show;
,因为没有要显示的单元格,甚至不是空单元格。
提前致谢。
答案 0 :(得分:2)
我认为这就是你想要的......它基本上找到了返回的行数,然后继续使用空格直到达到限制。
$limit = 15;
echo "<div class='TableGen'><table border='1'><tr><td>Name</td><td>Wins</td><td>Losses</td><td>ELO</td></tr>";
$query = mysqli_query($db, "SELECT * FROM multi1v1_stats ORDER BY wins DESC LIMIT $offset,$limit");
$i=0;
while($row = mysqli_fetch_array($query)) {
$i = $i+1;
echo "<tr><td>" . $row['name'] . "</td><td>" . $row['wins'] . "</td><td>" . $row['losses'] . "</td><td>" . $row['rating'] . "</td></tr>";
}
for($i=$i;$i<=$limit;$i++)[
echo "<tr><td> </td><td> </td><td> </td><td> </td></tr>";
}
?>
</table>