实现要求:将得到的检索结果,以每页20条记录输出到客户端。(每次输出的上限为20)
实现方法:
例:实现检索方法,方便客户端调用。 返回$result(20条记录)
$pagingmin = ($page_id-1) * 20;//根据客户端传回的page_id确定需要输出的记录id最小值
$pagingmax = $page_id * 20;//根据客户端传回的page_id确定需要输出的记录id最大值
function
doOrderInfoSearch(
$page_id
){
global
$db
;
$nowdate
=
getNowDateYYYYMMDD();
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
$SQL
=
"
SELECT c.ORDER_ID,
"
.
"
c.CREATE_DATE,
"
.
"
c.ORDER_FIRST_NAME,
"
.
"
c.ORDER_LAST_NAME,
"
.
"
c.ORDER_ADDRESS,
"
.
"
c.PAYMENT_METHOD_ID,
"
.
"
SUM(a.PRODUCT_COUNT*b.PRODUCT_PRICE) AS amount,
"
.
"
c.ACTUAL_SEND_DATE
"
.
"
FROM order_product_tbl a, product_master b,order_master c
"
.
"
WHERE TRUE
"
;
if
(
$this
->
create_date
<>
""
)
$SQL
.=
"
and c.CREATE_DATE='$this->create_date'
"
;
if
(
$this
->
delivery_date
<>
""
)
$SQL
.=
"
and c.DELIVERY_DATE='$this->delivery_date'
"
;
if
(
$this
->
delivery_flag
==
DELIVERY_STATE_ALL)
$SQL
.=
""
;
if
(
$this
->
delivery_flag
==
DELIVERY_STATE_UNDO)
$SQL
.=
"
and c.ACTUAL_SEND_DATE > $nowdate
"
;
if
(
$this
->
delivery_flag
==
DELIVERY_STATE_DOWN)
$SQL
.=
"
and c.ACTUAL_SEND_DATE < $nowdate
"
;
if
(
$this
->
order_status
==
ORDER_STATUS_ALL)
$SQL
.=
""
;
if
(
$this
->
order_status
==
ORDER_STATUS_COMMON)
$SQL
.=
"
and c.ORDER_STATUS=
"
.
ORDER_STATUS_COMMON;
if
(
$this
->
order_status
==
ORDER_STATUS_CANCEL)
$SQL
.=
"
and c.ORDER_STATUS=
"
.
ORDER_STATUS_CANCEL;
if
(
$this
->
payment_flag
==
PAYMENT_FLAG_ALL)
$SQL
.=
""
;
if
(
$this
->
payment_flag
==
PAYMENT_FLAG_COMMON)
$SQL
.=
"
and c.PAYMENT_FLAG=
"
.
PAYMENT_FLAG_COMMON;
if
(
$this
->
payment_flag
==
PAYMENT_FLAG_CANCEL)
$SQL
.=
"
and c.PAYMENT_FLAG=
"
.
PAYMENT_FLAG_CANCEL;
$SQL
.=
"
and a.PRODUCT_ID=b.PRODUCT_ID and a.ORDER_ID = c.ORDER_ID group by c.ORDER_ID
"
;
$rs
=
$db
->
query(
$SQL
);
$pagingmin
=
(
$page_id
-
1
)
*
20
;
$pagingmax
=
$page_id
*
20
;
$result
=
array
();
if
((
!
DB
::
isError(
$rs
))) {
$cntIndex
=
0
;
$rowIndex
=
0
;
while
(
$row
=
$rs
->
fetchRow()){
if
(
$rowIndex
>=
$pagingmin
&&
$rowIndex
<
$pagingmax
){
$row
=
Common_record(
$row
);
$result
[
$cntIndex
]
=
$this
->
getRecord(
$row
);
$cntIndex
++
;
}
$rowIndex
++
;
}
$this
->
pagenum
=
ceil
(
$rs
->
numRows()
/
20
);//将总计页数输出到客户端为生成页码序列提供初始值
return
$result
;
}
}
1调用doOrderInfoSearch($page_id)将返回值显示到<table>中即可。
2 生成页码序列方法:将<div id='setpage'></div>写入htm
<
script type
=
"
text/javascript
"
>
<!--
var
totalpage,pagesize,cpage,count,curcount,outstr;
//
初期化pageNum
cpage
=
<?=
$page_id
?>
;
totalpage
=
<?=
$searchcase
->
pagenum
?>
;
pagesize
=
10
;
outstr
=
""
;
function
gotopage(target)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
cpage = target;
doSubmitWithModeAndPage('page.php?id=19','DO_SEARCH',cpage);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
function
setpage()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(totalpage<=10)...{
for (count=1;count<=totalpage;count++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{ if(count!=cpage)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='#' οnclick='gotopage("+count+")'>"+count+"</a>";
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else...{
outstr = outstr + "<span class='current' >"+count+"</span>";
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(totalpage>10)...{
if(parseInt((cpage-1)/10) == 0)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
for (count=1;count<=10;count++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{ if(count!=cpage)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+count+")'>"+count+"</a>";
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else...{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+count+")'> next </a>";
}
else if(parseInt((cpage-1)/10) == parseInt(totalpage/10))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'>previous</a>";
for (count=parseInt(totalpage/10)*10+1;count<=totalpage;count++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{ if(count!=cpage)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+count+")'>"+count+"</a>";
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else...{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'>previous</a>";
for (count=parseInt((cpage-1)/10)*10+1;count<=parseInt((cpage-1)/10)*10+10;count++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if(count!=cpage)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+count+")'>"+count+"</a>";
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else...{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
outstr = outstr + "<a href='javascript:void(0)' οnclick='gotopage("+count+")'> next </a>";
}
}
document.getElementById("setpage").innerHTML = "<div id='setpage'><span id='info'> Total "+totalpage+" Page | Page "+cpage+"</span>" + outstr + "</div>";
outstr = "";
}
//
-->
</
script
>