数据库中的数据,显示在PHP页面上。想制作一个翻页效果,求大神赐教。
解决方案 »
- PHP 如何生成 CHM 文件 谢谢
- include()影响到了我的页面布局怎么办
- ThinkPHP 关闭调试模式
- 我在windows2008并且是64位的操作系统下安装PHP,请问PHP有64位的吗
- 求解密,PHP 综合加密的。高手帮我一下
- php函数内部有子函数不能运行2次怎么解决?
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 帮忙解释一下这个php冒泡排序,我不理解
- php打印报表功能怎么做?
- 请问 String 的长度是多少
- 表单使用mysql_real_escape_string函数不能转义
- kindeditor编辑器问题
- 有哪些好用的markdown编辑器,可以用php调用
分页公式:(当前页数-1)X每页条数,每页条数
/*
* 设置分页
* @param pageNum:每页显示数,pageNow:当前页,allNum:总条数
*/
public static function set_page($pageNum=20,$pageNow=1,$allNum)
{
$pages = ceil($allNum/$pageNum); // 总页数 $GLOBALS['smarty']->assign('allNum',$allNum);
$GLOBALS['smarty']->assign('allPages',$pages);
$arr = array(); //用于返回的数组
if($pageNow>$pages || $pageNow<1 || $pages==1) // 当前页大于所有页 or 当前页小于1 or 总共只有一页
{
return $arr;
}
if($pageNow>1) // 首页
{
$arr[] = array('num'=>1,'name'=>'首页');
$arr[] = array('num'=>$pageNow-1,'name'=>'«上一页');
}
//前3条
for($i=$pageNow-3;$i<$pageNow;$i++)
{
if($i>=1)
{
$arr[] = array('num'=>$i,'name'=>$i);
}
}
//当前
$arr[] = array('num'=>$pageNow,'name'=>$pageNow);
//后3条
$next = $pageNow<4 ? 7 : $pageNow+3 ;
for($i=$pageNow+1; $i<=$next; $i++)
{
if($i<=$pages)
{
$arr[] = array('num'=>$i,'name'=>$i);
}
}
if($pageNow<$pages)
{
$arr[] = array('num'=>$pageNow+1,'name'=>'下一页»');
$arr[] = array('num'=>$pages,'name'=>'末页');
}
return $arr;
}
首先得到数据库总记录数
再定义每页显示的记录数
实例化分页类
$page =new \Think\Page(x,x);
//public $firstRow;
偏移量
$offset = $page->firstRow;
数据模型类的对象->limit(z,z)->select();
就差不多了