thinkphp 페이지 나누기 효과

3977 단어
thinkphp 페이지 나누기의 실현 효과에 대해 모두 두 가지로 나뉘는데 하나는 공공 함수 중의 함수를 호출하는 방법이고, 다른 하나는 모델에서 페이지 나누기를 쓰는 방법이다. 다음은 필요한 친구에게 정리해 준다.
페이지 나누기 방법

/**
 * TODO            ,        
 * @param $m   ,    
 * @param $where     
 * @param int $pagesize       
 * @return \Think\Page
 */
function getpage(&$m,$where,$pagesize=10){
 $m1=clone $m;//       
 $count = $m->where($where)->count();//       join       
 $m=$m1;//           ,       
 $p=new Think\Page($count,$pagesize);
 $p->lastSuffix=false;
 $p->setConfig('header','
총%TOTALROW% 레코드 페이지당%LISTROW%조 제%NOWPAGE% 페이지/%TOTALPAGE% 페이지'),
$p->setConfig('prev','이전');
$p->setConfig('next','다음');
$p->setConfig('last','끝장');
$p->setConfig('first','첫 페이지');
$p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$p->parameter=I('get.');
$m->limit($p->firstRow,$p->listRows);
return $p;
}
getpage 방법은TP 프레임워크의Application/Common/Common/function에 놓을 수 있습니다.php, 이 문서는 어디에나 호출할 수 있는 일반적인 방법을 설정할 수 있습니다. (예: Controller 파일,View 파일 등)
2. 페이지 나누기 방법 호출

$m=M('products');
$p=getpage($m,$where,10);
$list=$m->field(true)->where($where)->order('id desc')->select();
$this->list=$list;
$this->page=$p->show();

View 코드


셋째, 마지막으로 페이지를 나누는 스타일입니다. 이것은 좀 어지럽습니다. 백엔드 프레임워크에서 인터넷에서 다운로드한 것이기 때문에 스타일이 아직 오지 않았고 정리되지 않았습니다. 이 스타일도 스스로 실현할 수 있습니다. 간단합니다.

.pagination ul {
 display: inline-block;
 margin-bottom: 0;
 margin-left: 0;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
 border-radius: 3px;
 -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
 -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
 box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pagination ul li {
 display: inline;
}

.pagination ul li.rows {
 line-height: 30px;
 padding-left: 5px;
}
.pagination ul li.rows b{color: #f00}

.pagination ul li a, .pagination ul li span {
 float: left;
 padding: 4px 12px;
 line-height: 20px;
 text-decoration: none;
 background-color: #fff;
 background: url('../images/bottom_bg.png') 0px 0px;
 border: 1px solid #d3dbde;
 /*border-left-width: 0;*/
 margin-left: 2px;
 color: #08c;
}
.pagination ul li a:hover{
 color: red;
 background: #0088cc;
}
.pagination ul li.first-child a, .pagination ul li.first-child span {
 border-left-width: 1px;
 -webkit-border-bottom-left-radius: 3px;
 border-bottom-left-radius: 3px;
 -webkit-border-top-left-radius: 3px;
 border-top-left-radius: 3px;
 -moz-border-radius-bottomleft: 3px;
 -moz-border-radius-topleft: 3px;
}
.pagination ul .disabled span, .pagination ul .disabled a, .pagination ul .disabled a:hover {
color: #999;
cursor: default;
background-color: transparent;
}
.pagination ul .active a, .pagination ul .active span {
color: #999;
cursor: default;
}
.pagination ul li a:hover, .pagination ul .active a, .pagination ul .active span {
background-color: #f0c040;
}
.pagination ul li.last-child a, .pagination ul li.last-child span {
 -webkit-border-top-right-radius: 3px;
 border-top-right-radius: 3px;
 -webkit-border-bottom-right-radius: 3px;
 border-bottom-right-radius: 3px;
 -moz-border-radius-topright: 3px;
 -moz-border-radius-bottomright: 3px;
}

.pagination ul li.current a{color: #f00 ;font-weight: bold; background: #ddd}

좋은 웹페이지 즐겨찾기