我在我的网站上添加了分页,一切都很好,但每当我点击下一步,它都会转到同一页面url/dataload2.php?page=0。这是我的php代码,我认为它在计算或循环中有问题,感谢您的帮助。
编辑:添加了更多的代码
<?php
include 'conn.php';
$num_rec_per_page=2;
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $num_rec_per_page;
$sql = "SELECT * from crewlist ORDER BY name ASC LIMIT $start_from, $num_rec_per_page";
$result = $conn->query($sql);
?>
和
<?php
$sql = "SELECT * FROM crewlist";
$rs_result = mysql_query($sql); //run the query
$total_records = mysql_num_rows($rs_result); //count number of records
$total_pages = ceil($total_records / $num_rec_per_page);
echo "<a href='dataload2.php?page=1'>".'|<'."</a> "; // Goto 1st page
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='dataload2.php?page=".$i."'>".$i."</a> ";
};
echo "<a href='dataload2.php?page=$total_pages'>".'>|'."</a> "; // Goto last page
?>
EDIT:更新语法
<?php
$sql = "SELECT * FROM crewlist";
$rs_result = mysqli_query($sql); //run the query
$total_records = mysqli_num_rows($rs_result); //count number of records
$total_pages = ceil($total_records / $num_rec_per_page);
echo "<a href='dataload2.php?page=1'>".'|<'."</a> "; // Goto 1st page
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='dataload2.php?page=".$i."'>".$i."</a> ";
};
?>
<?php
echo "<a href='dataload2.php?page=$total_pages'>".'>|'."</a> "; // Goto last page
?>
根据您的编辑:
$rs_result = mysqli_query($sql);
mysqli_query()
要求传递数据库连接作为第一个参数
将代码更改为:
$rs_result = mysqli_query($conn, $sql);
然后你就可以走了
参考:
- http://php.net/manual/en/mysqli.query.php
此外,一定要阅读准备好的语句,或PDO和已准备好的声明的内容,因为您可能会受到SQL注入攻击。
- 最好是为了安全起见;-)
附加参考:
- http://php.net/manual/en/mysqli.error.php
- http://php.net/manual/en/function.error-reporting.php