phpZF框架下类似Google搜索分页_PHP教程
Jul 13, 2016 am 10:38 AM
google
php
print
source
u
view
下
程式碼
分頁
搜尋
框架
[代码] [PHP]代码
view source print?01
/**
02
*
03
* @param unknown_type $model 表类型
04
* @param unknown_type $ncontroller 那个控制器提交的controller
05
* @param unknown_type $naction 那个action提交的action
06
*/
07
public
function
fenyepage2(
$model
,
$ncontroller
,
$naction
){
08
if
(!isset(
$_SESSION
))
09
{session_start();}
10
$pageSize
=
$_SESSION
[
'pagesize'
];
11
$pageNow
=
$_SESSION
[
'pagenow'
];
12
$offset
= (
$pageNow
-1)*
$pageSize
;
13
$db
=
$this
->getAdapter();
14
$select
=
$db
->select();
15
$select
->from(
'student'
,
'*'
);
16
if
(!isset(
$_SESSION
))
17
{session_start();}
18
if
(
$_SESSION
[
'qsname'
]!=
""
){
19
$sname
=
$_SESSION
[
'qsname'
];
20
$select
->where(
'sname like ?'
,
"%$sname%"
);
21
}
22
if
(
$_SESSION
[
'qsaddress'
]!=
""
){
23
$saddress
=
$_SESSION
[
'qsaddress'
];
24
$select
->where(
'saddress like ?'
,
"%$saddress%"
);
25
}
26
if
(
$_SESSION
[
'qsdept'
]!=
""
){
27
$sdept
=
$_SESSION
[
'qsdept'
];
28
$select
->where(
'sdept like ?'
,
"%$sdept%"
);
29
}
30
$coutNews
=
$db
->fetchAll(
$select
);
31
<code class="variable">$pageCount =
ceil
(
count
(
$coutNews
)/
$pageSize
);
32
$select
->limit(
$pageSize
,
$offset
);
//第一个参数:总共显示多少个。第二个参数:从第几个开始显示
33
$res
=
$db
->fetchAll(
$select
);
34
$native
= null;
35
$native
=
"<a href="'%5C%5C%24ncontroller%5C%5C%24naction?pageNow=1&pagesize=%24pageSize'">首页</a>&nbsp"
;
36
if
(
$pageNow
>1){
37
$nextPage
=
$pageNow
-1;
38
$native
.=
" <a href="'%5C%5C%24ncontroller%5C%5C%24naction?pageNow=%24nextPage&pagesize=%24pageSize'">上一页</a> "
;
39
}
40
if
((
$pageNow
-1)>5){
41
if
(
$pageNow
+4>
<code class="variable">$pageCount){
//如果最后的页数和理应前面开始的页数小于10则
42
$start
=
<code class="variable">$pageCount-9;
//开始的页数和结束的页数相差9
43
}
else
{
44
$start
=
$pageNow
-5;
//开始位置和结束位置相差5
45
}
46
}
else
{
47
$start
=
floor
((
$pageNow
-1)/10)*10+1;
48
}
49
if
(
<code class="variable">$pageCount>=
$start
+10){
50
<code class="variable">$index =
$start
+10;
51
}
52
else
{
53
<code class="variable">$index =
<code class="variable">$pageCount+1;
54
}
55
56
for
(;
$start
<code class="variable">$index
;
$start
++){
57
$native
.=
" <a href="'%5C%5C%24ncontroller%5C%5C%24naction?pageNow=%24start&pagesize=%24pageSize'">$start</a>"
;
58
}
59
if
(
$pageNow
<code class="variable">$pageCount
){
60
$nextPage
=
$pageNow
+1;
61
$native
.=
" <a href="'%5C%5C%24ncontroller%5C%5C%24naction?pageNow=%24nextPage&pagesize=%24pageSize'">下一页</a> "
;
62
}
63
64
$native
.=
" <a href="'%5C%5C%24ncontroller%5C%5C%24naction?pageNow=%24pageCount&pagesize=%24pageSize'">末页</a> "
;
65
$native
.=
" 当前{$pageNow}||总共{$pageCount}页"
;
66
$model
->arrs =
$res
;
67
$model
->native =
$native
;
68
}
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

谷歌向大多數用戶開放 AI Test Kitchen & Imagen 3

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
