关于PHP的分页问题 本人是新手,麻烦大神们教我怎么用PHP完成查看数据中的分页功能,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我看过了PHP100的视频,感觉不是很懂 看这个分页,有注释,看不懂就拿下来改着用http://www.jb51.net/article/27813.htm 分页的核心是控制SQL语句来进行对应数据的精确查找。主要是用SQL的limit来进行限制。常把页面参数以GET方式发送回来,然后主要的两个变量一个是每页显示条数,一个是总记录数。具体的过程就是函数的使用了 给个例子,最近也在整这个东西。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.=" <a href='/?r=User&index&page=".$i."'>$i</a>"; else $html.=" ".$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.=' 共'.$count.'条记录 每页'.$pagesize.'条 共'.$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> "; }else{ echo("<< "); } 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." </a>"); } } } } if($page!=$pagecount){ //如果页数不等于最后一页,那么显示最后一页的链接,如果不是,那么直显示两个箭头 echo(" <a href=index.php?page=".$pagecount." title=\"最后一页\">>></a> "); }else{ echo(" >>"); } ?> 请输入页数:<input type=text size=4 name="yeshu"> <input type=button value=go onclick=javascript:{tiaozhuan(document.forms.tiaozhuanform.yeshu.value)}> </td> </tr></table> </form> 投票提交的网址怎么看 关于swfupload将文件信息保存到数据库 页面导出word问题 基础题,通过递归正则匹配数字元素 问个很简单,但我确不明白的问题! 帮忙看看哪里错了?没发觉啊 PHP可以实现ASP中Server.Transfer方法吗? mysql问题,大哥们过来帮忙啊! 关于url传递的问题 这道题给100分,不过我怕没人理我(就是关于js和php的交互) phpexcel 生成大数据量excel耗时问题 一个WORDPRESS主题,里面有个网址没办法删除。真是奇怪。
http://www.jb51.net/article/27813.htm
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.=" <a href='/?r=User&index&page=".$i."'>$i</a>";
else
$html.=" ".$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.=' 共'.$count.'条记录 每页'.$pagesize.'条 共'.$pagecount.'页</td></tr>';
return $html;
}
<?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> ";
}else{
echo("<< ");
} 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." </a>");
}
}
}
}
if($page!=$pagecount){ //如果页数不等于最后一页,那么显示最后一页的链接,如果不是,那么直显示两个箭头
echo(" <a href=index.php?page=".$pagecount." title=\"最后一页\">>></a> ");
}else{
echo(" >>");
}
?>
请输入页数:<input type=text size=4 name="yeshu">
<input type=button value=go onclick=javascript:{tiaozhuan(document.forms.tiaozhuanform.yeshu.value)}>
</td>
</tr>
</table>
</form>