首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

关于PHP的分页有关问题

2012-09-02 
关于PHP的分页问题本人是新手,麻烦大神们教我怎么用PHP完成查看数据中的分页功能,谢谢[解决办法]看这个分

关于PHP的分页问题
本人是新手,麻烦大神们教我怎么用PHP完成查看数据中的分页功能,谢谢

[解决办法]
看这个分页,有注释,看不懂就拿下来改着用
http://www.jb51.net/article/27813.htm
[解决办法]
给个例子,最近也在整这个东西。

PHP code
public static function getuser(CleanRequest &$clean){    Registry::set('clean',$clean);    //print_r(Registry::get('clean'));die();    //print_r(Registry::get());    $user=$clean->get('user');    if($user)    $where.=($where?' and':' where').' admin_name like \'%'.$user.'%\'';    $db=new MysqlDB();    $sql1="select * from admin";    $result=$db->query($sql1);    $count=$db->num_rows($result);    $pagesize=5;     if($page=$clean->get('page')){            $page = intval($page);        }        else {            $page=1;        }   $pagecount=ceil($count/$pagesize);   $limit=$page-1;        //if($where)        $sql="select * from admin ".$where." limit ".$limit*$pagesize.",$pagesize";        $r=$db->select($sql);        foreach($r as $v){        $html.='<tr><td>'.$v['admin_id'].'</td><td>'.$v['admin_name'].'</td><td>'.$v['admin_pwd'].'</td><td><a href="javascript:void(0)" class="del">删除</a></td></tr>';        }        /*for($i=1;$i<=$pagecount;$i++){//数字分页        if($i!=$page)        $html.="&nbsp;<a href='/?r=User&index&page=".$i."'>$i</a>";        else        $html.="&nbsp;".$i;*/          //}        if($count>$pagesize){        /*if($page==1){//如果页数只有一页            $html .= '首页|上一页';         }*/         //else{         $html.='<tr><td colspan="5">';         if($page>1){            $html .= '<a href="/?r=User&action=index&page=1">首页</a>|<a href="/?r=User&action=index&page='.($page-1).'">上一页</a>|';        }         if($page==$pagecount||$pagecount==0){//如果当前页等于总也数            $html .= '下一页|尾页';        }         else{            $html .=  '<a href="/?r=User&action=index&page='.($page+1).'">下一 页</a>|<a href="/?r=User&action=index&page='.$pagecount.'">尾页</a>';        }        }        $html.='&nbsp;&nbsp;共'.$count.'条记录&nbsp;每页'.$pagesize.'条&nbsp;共'.$pagecount.'页</td></tr>';        return $html;        }
[解决办法]
5楼给的是很清楚的,用的面向对象的方法,我也给你一个我自己用的
<?php 
require_once 'db.php';
session_start();
$pagesize = 5; // 每一页显示多少
$page = $_GET["page"];

if($page == ""){ //如果没有设定页数则默认为1
$page=1;
}
$sql = "select * from st_info order by ID desc limit ".($pagesize*($page-1)).",".$pagesize;

$query=mysql_query($sql); //显示从多少到多少


$quer2=mysql_query("select * from st_info");
$num=mysql_num_rows($quer2); //查找所有的行数
$pagecount=ceil($num/$pagesize); //应该显示多少页


if($pagecount == 0){
echo "sorry,it's null";
}else{
if(mysql_num_rows($query)==0){
echo "sorry,";
}

}

?> 
<form name="tiaozhuanform">
<table width="760" align="center">
<tr>
<td>
总共有<?php echo $pagecount;?>页,
每页显示<?php echo $pagesize;?>条信息,
总共有<?php echo $num;?>条数据.
<select name="theselect" onchange="javascript:tiaozhuan(this.options[this.options.selectedIndex].value);">
<?php
for($i=1;$i<=$pagecount;$i++){
echo '<option value="' . $i . '"' . ($i==$page?' selected':'') . ">$i</option>";


}

?>
</select>
<?php
if($page!=1){
echo "<a href=info_manager.php?page=1 title=\"第一页\"><<</a>&nbsp;";
}else{
echo("<<&nbsp;");
}

for($i=$page-2; $i<=$page+2; $i++){ //如果页数的前面两页跟后面两页都有,那么一直循环
if($i<1||$i>$pagecount){ //如果页数小于1或者大于总页数了,什么都不显示
}else{//如果页数等于当前页或者就等于最后一页,那么就直接显示这一页的内容
if($i==$page&&$i==$pagecount){
echo($i);
}else{
if($i==$pagecount){
echo("<a href=info_manager.php?page=".$i.">".$i."</a>");
}else{
echo("<a href=info_manager.php?page=".$i.">".$i."&nbsp;</a>");
}
}
}
}


if($page!=$pagecount){//如果页数不等于最后一页,那么显示最后一页的链接,如果不是,那么直显示两个箭头
echo("&nbsp;<a href=index.php?page=".$pagecount." title=\"最后一页\">>></a>&nbsp;");
}else{
echo("&nbsp;>>");
}
?>
&nbsp;请输入页数:<input type=text size=4 name="yeshu">&nbsp;
<input type=button value=go onclick=javascript:{tiaozhuan(document.forms.tiaozhuanform.yeshu.value)}>
</td>
</tr>
</table>
</form>

热点排行