温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP MySQL怎么实现数据分页

发布时间:2021-09-04 15:02:32 来源:亿速云 阅读:126 作者:chen 栏目:web开发

这篇文章主要讲解了“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怎么实现数据分页这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI