这篇文章主要讲解了“PHP MySQL怎么实现数据分页”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP MySQL怎么实现数据分页”吧!
SQL SELECT语句查询总是可能导致数千条记录。但是在一个页面上显示所有结果并不是一个好主意。因此,我们可以根据要求将此结果划分为多个页面。分页意味着在多个页面中显示您的查询结果,而不是仅将它们全部放在一个长页面中。MySQL通过使用LIMIT子句帮助生成分页,该子句将采用两个参数。第一个参数为OFFSET,第二个参数应从数据库返回多少条记录。下面是一个使用LIMIT子句获取记录以生成分页的简单示例。
$dbhost = 'localhost'; // 数据库主机
$dbuser = 'root'; // 用户名
$dbpass = '123456'; // 密码
$rec_limit = 10; // 每页10条数据
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(!$conn ) {
die('连接失败: ' . mysqli_error());
}
mysqli_select_db($conn,'test'); // 要操作的数据
$sql = "SELECT COUNT(id) FROM test ";
$retval = mysqli_query( $conn, $sql );
if(! $retval ) {
die('没有获取到数据: ' . mysqli_error($conn));
}
$row = mysqli_fetch_array($retval, MYSQLI_NUM );
$rec_count = $row[0];
if( isset($_GET['page'] ) ) {
$page = $_GET['page'] + 1;
$offset = $rec_limit * $page ;
}else {
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);
$sql = "SELECT name "."FROM test "."LIMIT $offset, $rec_limit";
$retval=mysqli_query( $conn, $sql );
if(! $retval ) {
die('不能获取到数据: ' . mysqli_error($conn));
}
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
echo "TEST name :{$row['name']} <br> ";
}
if( $page > 0 ){
$last = $page - 2;
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$last\">上一页</a> |";
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$page\">下一页</a>";
}else if( $page == 0 ) {
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$page\">下一页</a>";
}else if( $left_rec < $rec_limit ){
$last = $page - 2;
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$last\">最后一页</a>";
}
mysqli_close($conn);
修改每页显示的数据或者插入多条数据查看效果, PHP MySQL插入数据。
感谢各位的阅读,以上就是“PHP MySQL怎么实现数据分页”的内容了,经过本文的学习后,相信大家对PHP MySQL怎么实现数据分页这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!