Thinkphp分页 搜索分页 定制分页样式

Thinkphp系统提供有分页功能,使用类 \Think\Page;

普通分页

$article = M("article");
$count = $article->count();  // 查询满足要求的总记录数
$page = new \Think\Page($count,25);  // 实例化分页类 传入总记录数和每页显示的记录数(25)
$show = $page->show();  // 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $article->limit($page->firstRow.','.$page->listRows)->select();
$this->assign("show",$show);
$this->assign("list",$list);
$this->display();

注意: 实例化分页类 \Think\Page();

搜索分页

1.使用GET表单提交搜索

$article = M("article");
$title = urlencode($_GET['title']);
$map['title'] = array('LIKE',"%{$title}%");
$count = $article->where($map)->count();
$page = new \Think\Page($count,25);
$show = $page->show();
$list = $article->where($map)->limit($page->firstRow.','.$page->listRows)->select();
$this->assign("show",$show);
$this->assign("list",$list);
$this->display();

2.使用POST提交搜索表单

$article = M("article");
$title = urlencode($_REQUEST['title']);
$args['title'] = $title;		
$map['title'] = array('LIKE',"%{$title}%");
$count = $article->where($map)->count();
$page = new \Think\Page($count,25,$args);
$show = $page->show();
$list = $article->where($map)->limit($page->firstRow.','.$page->listRows)->select();
$this->assign("show",$show);
$this->assign("list",$list);
$this->display();

分页样式

我们可以对输出的分页样式进行定制,分页类Page提供了一个setConfig方法来修改默认的一些设置。例如:

$article = M("article");
$title = urlencode($_REQUEST['title']);
$args['title'] = $title;		
$map['title'] = array('LIKE',"%{$title}%");
$count = $article->where($map)->count();
$page = new \Think\Page($count,25,$args);
$page->setConfig("first","首页");
$page->setConfig("prev","上一页");
$page->setConfig("next","下一页");
$page->setConfig("last","末页");	//注意last不显示,此项是个bug
$page->setConfig("theme","%UP_PAGE% %LINK_PAGE% %DOWN_PAGE%");	//用theme自定义显示哪些内容
$show = $page->show();
$list = $article->where($map)->limit($page->firstRow.','.$page->listRows)->select();
$this->assign("show",$show);
$this->assign("list",$list);
$this->display();

setConfig方法支持的属性包括:

header:头部描述信息,默认值 “共 %TOTAL_ROW% 条记录

prev:上一页描述信息,默认值 “<<”

next:下一页描述信息,默认值 “>>”

first:第一页描述信息,默认值 “1...”

last:最后一页描述信息,默认值 “...%TOTAL_PAGE%”

theme :分页主题描述信息,包括了上面所有元素的组合 ,设置该属性可以改变分页的各个单元的显示位置,默认值是 "%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%"

其中,显示位置的对应的关系为:

位置 说明
%FIRST% 表示第一页的链接显示
%UP_PAGE% 表示上一页的链接显示
%LINK_PAGE% 表示分页的链接显示
%DOWN_PAGE% 表示下一页的链接显示
%END% 表示最后一页的链接显示

除了改变显示信息外,你还可以使用样式来定义分页的显示效果。这些样式class包括:first(第一页)、prev(上一页)、next(下一页)、end(最后一页)、num(其他页的数字)、current(当前页)。

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇