thinkphp,php高手,thinkphp中的分页,怎么能在模板中显示那个序列号,自动增长的,求解释,谢谢………
我不要数据中的id列表,是序列号自动增长的,如:2条为一页,我做了一下,第一页为1,2,第二页又为1,2第二页应该为3,4吗,求解释…………...
我不要数据中的id列表,是序列号自动增长的,如:2条为一页,我做了一下,第一页为1,2,第二页又为1,2
第二页应该为3,4吗,求解释………… 展开
第二页应该为3,4吗,求解释………… 展开
2个回答
展开全部
以前写的一个小函数
/*
============================================================================
函数名 : PageS
函数说明 : 分页
参数 : $Scond //二维数组
返回值 :需要输出的值(二维数组) 或 直接返回
作成者 :
更新者 :
============================================================================
*/
private function PageS($Scond)
{
//如果数组位空,则直接写模板且返回
if($Scond == null) {
$this->SmtObj->assign('allpages', 1);
return true;
}
//总条目数
$co = count($Scond);
//每页的数量
$pagenub = 8;
//总页数
$allpages = ceil($co / $pagenub);
//判断当前页数
if(isset($_REQUEST['ys']))
{
if($_REQUEST['ys'] < 1) {
$page = 1;
} else if($_REQUEST['ys'] > $allpages) {
$page = $allpages;
} else {
$page = $_REQUEST['ys'];
}
} else {
$page = 1;
}
//当前指针指向的数组元素
$cur = ($page - 1) * $pagenub;
$scur = $cur + $pagenub;
//用来存放输出在页面的数组元素
$arr_tmp = array();
//获取需要输出的数组
for($i = $cur; $i < $scur; $i++) {
if(empty($Scond[$i])) break;
$arr_tmp[] = $Scond[$i];
}
//对页面进行赋值
if($allpages <= 5) {
$coun = range(1,intval($allpages));
$this->SmtObj->assign('coun', $coun);
} else {
$pa = $page+2;
if($page > 1 AND $page <3) {
$coun = range($page-1, $page+3);
}elseif($page >=3 AND $allpages >= $pa) {
$coun = range($page-2,$page+2);
}elseif($page == 1) {
$coun = range($page, $page+4);
}else {
$coun = range($page-2, $allpages);
}
$this->SmtObj->assign('coun', $coun);
}
$this->SmtObj->assign('page',$page);
$this->SmtObj->assign('pages',$page-1);
$this->SmtObj->assign('pagex',$page+1);
$this->SmtObj->assign('allpages',$allpages);
return $arr_tmp;
}
/*
============================================================================
函数名 : PageS
函数说明 : 分页
参数 : $Scond //二维数组
返回值 :需要输出的值(二维数组) 或 直接返回
作成者 :
更新者 :
============================================================================
*/
private function PageS($Scond)
{
//如果数组位空,则直接写模板且返回
if($Scond == null) {
$this->SmtObj->assign('allpages', 1);
return true;
}
//总条目数
$co = count($Scond);
//每页的数量
$pagenub = 8;
//总页数
$allpages = ceil($co / $pagenub);
//判断当前页数
if(isset($_REQUEST['ys']))
{
if($_REQUEST['ys'] < 1) {
$page = 1;
} else if($_REQUEST['ys'] > $allpages) {
$page = $allpages;
} else {
$page = $_REQUEST['ys'];
}
} else {
$page = 1;
}
//当前指针指向的数组元素
$cur = ($page - 1) * $pagenub;
$scur = $cur + $pagenub;
//用来存放输出在页面的数组元素
$arr_tmp = array();
//获取需要输出的数组
for($i = $cur; $i < $scur; $i++) {
if(empty($Scond[$i])) break;
$arr_tmp[] = $Scond[$i];
}
//对页面进行赋值
if($allpages <= 5) {
$coun = range(1,intval($allpages));
$this->SmtObj->assign('coun', $coun);
} else {
$pa = $page+2;
if($page > 1 AND $page <3) {
$coun = range($page-1, $page+3);
}elseif($page >=3 AND $allpages >= $pa) {
$coun = range($page-2,$page+2);
}elseif($page == 1) {
$coun = range($page, $page+4);
}else {
$coun = range($page-2, $allpages);
}
$this->SmtObj->assign('coun', $coun);
}
$this->SmtObj->assign('page',$page);
$this->SmtObj->assign('pages',$page-1);
$this->SmtObj->assign('pagex',$page+1);
$this->SmtObj->assign('allpages',$allpages);
return $arr_tmp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询