<php
/*
* Created on 2010-4-17
*
* Order by Kove Wong
*/
$link=mysql_connect('http://www.phpx.info','root','phpx.info');
mysql_select_db('pagelist');
mysql_query('set names gbk');
$Page_size=10;
$result=mysql_query('select * from v_char');
$count = mysql_num_rows($result);
$page_count = ceil($count/$Page_size);
$init=1;
$page_len=7;
$max_p=$page_count;
$pages=$page_count;
//判断当前页码
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
}
$offset=$Page_size*($page-1);
$sql="select * from v_char limit $offset,$Page_size";
$result=mysql_query($sql,$link);
while ($row=mysql_fetch_array($result)) {
>
<tr>
<td bgcolor="#E0EEE0" height="25px"><div align="center">
<php echo $row['id']>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<php echo $row['name']>
</div></td>
</tr>
<php
}
$page_len = ($page_len%2)$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量
$key='<div class="page">';
$key.="<span>$page/$pages</span> ";//第几页,共几页
if($page!=1){
$key.="<a href=\"".$_SERVER['PHP_SELF']."page=1\">第一页</a> ";//第一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."page=".($page-1)."\">上一页</a>"; //上一页
}else {
$key.="第一页 ";//第一页
$key.="上一页"; //上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
}
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.=' <span>'.$i.'</span>';
} else {
$key.=" <a href=\"".$_SERVER['PHP_SELF']."page=".$i."\">".$i."</a>";
}
}
if($page!=$pages){
$key.=" <a href=\"".$_SERVER['PHP_SELF']."page=".($page+1)."\">下一页</a> ";//下一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."page={$pages}\">最后一页</a>"; //最后一页
}else {
$key.="下一页 ";//下一页
$key.="最后一页";//最后一页
}
$key.='</div>';
>
这里把翻页的重点和原理讲讲,翻页的原理很简单,就是通过select * from sql语句来实现翻页的,还记得select * from 语句的用法吗?不记得没关系我在讲讲 select * from 查询sql语句具体格式select * from 表名字 limit 显示第几页 /共多少页,了解了这个语句我们就来看实现翻页的原理。 首先就是连接数据库了这个前面文章说过了,连接完就来执行sql语句了 我们先设置变量来存放一页显示几条 然后查询数据空共多少页 然后 判断get数值有没有如果没有就赋值为1 否则 sql语句会出错。那么你会问了get从哪里来的? 别着急后面会讲。然后输出本页的内容 最后我们就来设置分页的重要部分了。 设置 上一页和下一页两个连接 上一页的数据就把get数据-1下一页就把get数据+1 如果是首页上一页不显示或者不设置连接 尾页也是如此!!