第一步:连接数据库
<?php
$link=mysqli_connect("localhost","数据库用户名","数据库密码","数据库名");
if(!$link){
die('could not connect:' .mysql_error());//连接数据库失败
}
mysqli_query($link,'set names utf8');//设置数据库编码格式
?>
OK,到这数据库就写完啦,怎么样?是不是很简单呀!下面我们继续吧
第二步:实现具体的分页功能
(1)传入页码
$page=$_GET['P'];//p为传入的页码,即要取第几页的数据
/** 初始化p值 **/
if(!isset($_GET['p'])) $_GET['p']=1;
$_GET['p']=(int)$_GET['p'];
(2)根据页码取出数据,php->mysql处理
//编写sql获取分页数据,select * from 表名 limit 起始位置,显示条数
$sql="select * from test limit".(($page-1)*$pageSize).",$pageSize";//mysql数据库中第一条数据默认从0开始。
$result=mysqli_query($link,$sql);//把sql语句传入数据库
while($row=mysqli_fetch_assoc($result))//处理我们的数据
{
?>
/**显示信息内容**/
<div class="titlebar">
<span class="shoptitle"><?php echo $row["title"]?></span>
<span class="distance">650m</span>
</div>
//释放结果,关闭连接
mysql_free_result($result);
mysql_close($link);
<?php
}
?>
(3)显示数据+分页条(其实就是一个超链接)
$page_banner="<a>上一页</a>";
$page_banner="<a>下一页</a>";
详细代码如下:
<?php
//获取数据总数
$total_sql="select COUNT(*) as num FROM practice_task";
$result=mysqli_query($link,$total_sql);
$total_result=mysqli_fetch_assoc($result);
//print_r($total_result);
$total=$total_result['num'];
//echo "总条数:".$total;
//计算页数
$total_pages=ceil($total/$pageSize);
//计算页码偏移量
$pageoffset=($showPage-1)/2;
//定义显示页码的其实位置
$start=1;
$end=$total_pages;
$page_banner="<div class='page'>";
if($page>1){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首页</a>";
$page_banner.= "<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页</a>";
}
if($total_pages>$showPage)
{
if($page>$pageoffset + 1){
$page_banner.="...";
}
if($page > $pageoffset){
$start=$page-$pageoffset;
$end=$total_pages>$page+$pageoffset ? $page+$pageoffset:$total_pages;
}else{
$start=1;
$end=$total_pages>$showPage ? $showPage:$total_pages;
}
if($page + $pageoffset > $total_pages){
$start=$start-($page + $pageoffset - $end);
}
}
//显示数据
for($i = $start;$i<=$end;$i++){
if($page==$i){
$page_banner.="<span class='current'>{$i}</a>";
}else{
$page_banner.= "<a href='".$_SERVER['PHP_SELF']."?p=".$i."'>$i</a>";
}
}
if($total_pages>$showPage && $total_pages>$page + $pageoffset){
$page_banner.="...";
}
if($page<$total_pages){
$page_banner.= "<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页</a>";
$page_banner.= "<a href='".$_SERVER['PHP_SELF']."?p=".($total_pages)."'>尾页</a>";
}
$page_banner.="共{$total_pages}页";
$page_banner.="</div>";
echo "$page_banner";
效果如下: