请大神们帮看一段tp内核的分页代码

kouyuxin 2015-04-06 11:41:12
这代码存在分页后内容输出有问题。全显示的是第一页的内容。请大神给看看代码是哪的问题。或代码写的就不对。
/**
* 内容分页
* @param text content
* @param int page
* @param string needle 分页标识
*/
function contentPage($content, $needle = '<hr class="page" />'){
//根据分页标识来拆分分页
$pageContent = explode($needle, $content);
//$_GET['p'] 内容分页的参数
$page = isset($_GET['p']) ? intval($_GET['p']) : 0;
$contentNowPage = $page > 0 ? $page-1 : 0;
echo $pageContent[$contentNowPage];

if(($pageCount = count($pageContent)) > 1){
$pageStr = '<div class="clear"></div><div class="page_content">';
for($i = 1; $i <= $pageCount; $i++){
$style = '';
if($page == $i){
$style = 'class="cur"';
}
$pageStr .= '<a href="?p='.$i.'" '.$style.'>'.$i.'</a>';
}
$pageStr .= '</div>';
echo $pageStr;
}
}


...全文
161 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
猪崽儿0o0 2015-04-07
  • 打赏
  • 举报
回复
$count = 20;
        $pagesize = 10;
        $page = new Page($count, $pagesize);
        $this->assign('pages',$page->show());
这个只是分页 你要获取数据的话还需要进行计算后将limit进行赋值才可以进行对应页面数据的查询否则只能是第一页的数据。
猪崽儿0o0 2015-04-07
  • 打赏
  • 举报
回复
你如果是用得TP内置的 那你需要按照他得写法去对应的写出来即可,不存在很大的问题。
kouyuxin 2015-04-07
  • 打赏
  • 举报
回复
引用 6 楼 u012984377 的回复:

$data=$table->select();
$count=count($data);
$Page       = new \Think\Page($count,20);
$show       = $Page->show();
$this->assign('page',$show);
这个写上就可以了是吧
kouyuxin 2015-04-07
  • 打赏
  • 举报
回复
引用 4 楼 fdipzone 的回复:
你先把显示第一页的代码放出来,然后在那个基础上,修改where就可以了。
第一页的出来呢
kouyuxin 2015-04-07
  • 打赏
  • 举报
回复
引用 5 楼 u011619326 的回复:
你如果是用得TP内置的 那你需要按照他得写法去对应的写出来即可,不存在很大的问题。
小白 一个实在不知道这该怎么写了
象程序 2015-04-07
  • 打赏
  • 举报
回复

$data=$table->select();
$count=count($data);
$Page       = new \Think\Page($count,20);
$show       = $Page->show();
$this->assign('page',$show);
傲雪星枫 2015-04-06
  • 打赏
  • 举报
回复
你的代码只是显示翻页的代码,并没有涉及查询对应页的代码。 需要根据$page参数去查询。 $offset = ($page-1)*$pagesize; $limit = $pagesize; sql="select * from table limit $offset,$limit";
xuzuning 2015-04-06
  • 打赏
  • 举报
回复
你这只是产生翻页条的代码 问题在你收到 $_GET['p'] 后的处理上
傲雪星枫 2015-04-06
  • 打赏
  • 举报
回复
你先把显示第一页的代码放出来,然后在那个基础上,修改where就可以了。
kouyuxin 2015-04-06
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
你的代码只是显示翻页的代码,并没有涉及查询对应页的代码。 需要根据$page参数去查询。 $offset = ($page-1)*$pagesize; $limit = $pagesize; sql="select * from table limit $offset,$limit";
thinkphp的如 果根据现在的代码,能否给写几句,谢谢

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧