thinkphp中对数组元素进展分页显示

php中文网
发布: 2016-06-13 10:54:17
原创
1174人浏览过

thinkphp中对数组元素进行分页显示

 PHP模块代码:class NewsAction extends Action{public $page = '';  //分页,当前页数 function News(){  $list = M("News")->field('id,title')->where("status = 5")->findAll();  //分页   $list = $this->array_page($list);  //结束  $num = 0;  $URL = "http://www.baidu.com/";  $suffixName = '.html';  foreach($list as $key=>$val){   $num = $key + 1;   $str .= '  '.$num.").<a href='".$URL.$val['id'].$suffixName."' target='_blank'>".$val['title']."</a><br> ";  }  $str = preg_replace('/(.*),s$/','\1',$str);  $str .= "<div class='d_page'>".$this->page."</div>";  return $str; }  //数组分页方法 /** * array  $array 数组 * integer $showCount 每页的记录数 *------------------------------ * return array 返回数组 */ function array_page($array,$listRows = 12,$showCount = 4){  $p = C('VAR_PAGE');  $url  =  $_SERVER['REQUEST_URI']."/".$p."/";  $page  = !empty($_GET[C('VAR_PAGE')])?$_GET[C('VAR_PAGE')]:1;        $upRow   = $page-1;        $downRow = $page+1;    $linkPage = "";  $totalPage = (int)count($array);  $pagetotal = ceil($totalPage/$listRows); //总页数  if($page <= ceil(($showCount)/2)){   $minpg = 1;   $maxpg = $showCount+1;   if($maxpg >= $pagetotal) $maxpg = $pagetotal + 1;  }elseif($page > ceil(($showCount)/2) && $page < ($pagetotal - ceil($showCount/2))){   $minpg = $page - ceil(($showCount)/2) + 1;   $maxpg = $page + ceil(($showCount)/2) + 1;   if($maxpg >= $pagetotal) $maxpg = $pagetotal;  }elseif($page >=$pagetotal - ceil(($showCount)/2)){   $minpg = $pagetotal - ($showCount-1);   if($minpg == 1) $minpg = 2;   $maxpg = $pagetotal + 1;  }      $linkPage .= " ".$totalPage." 条记录 ".$page."/".$pagetotal." 页 ";    if($pagetotal == 1){   $linkPage .= " <span class='current'>1</span> ";  }else{   if($page > 1){    $linkPage .= "  <a href='javascript:void(0)' onClick="showpage('".$url."1');">第一页</a>";    $linkPage .= "  <a href='javascript:void(0)' onClick="showpage('".$url.$upRow."');">上一页</a>";   }   for($i = $minpg; $i < $maxpg; $i++){    if($page == $i){     $linkPage .= "  <span class='current'><font color="#FF0000">". $i ."</font></span>";    }else{     $linkPage .= "  <a href='javascript:void(0)' onClick="showpage('".$url.$i."');">$i</a>";    }   }   if($page < $pagetotal){    $linkPage .= "  <a href='javascript:void(0)' onClick="showpage('".$url.$downRow."');">下一页</a>";    $linkPage .= "  <a href='javascript:void(0)' onClick="showpage('".$url.$pagetotal."');">最后一页</a>";   }  }       if($listRows < $totalPage) {   if($page <= 1 || empty($page)) {    $page = 0;   } else {    $page = intval($page) - 1;   }   $array = array_slice($array,$page*$listRows,$listRows,true);  }  $this->page = $linkPage;  if(1 == $pagetotal) $this->page = '';  return $array;   } } 前台Html代码:<html><head><script type="text/javascript" charset="utf-8" src="__PUBLIC__/js/artDialog/artDialog.min.js"></script></head><body><script language="javascript" type="text/javascript">//分页跳转function showpage(url){ var testDialog; testDialog = dialog('正在加载中...'); $.get(url,null,function(data){  //$("#con").append(data);  testDialog.close();  $("#con").html(data); });}//提示缓冲框function dialog(msg){ var testDialog; testDialog = art.dialog({  lock: false,  title:'',  id:'loaddialog',  content:'<font color="#ff0000">'+msg+'</font>',  width:220 }); return testDialog;}</script><div id="con"></div></body></html>
登录后复制

?

AIBox 一站式AI创作平台
AIBox 一站式AI创作平台

AIBox365一站式AI创作平台,支持ChatGPT、GPT4、Claue3、Gemini、Midjourney等国内外大模型

AIBox 一站式AI创作平台 217
查看详情 AIBox 一站式AI创作平台
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号