Thinkphp搜索時(shí)首頁(yè)分頁(yè)和搜索頁(yè)保持條件分頁(yè)的方法
本文實(shí)例講述了Thinkphp實(shí)現(xiàn)搜索時(shí)首頁(yè)分頁(yè)和搜索頁(yè)保持條件分頁(yè)的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
在做搜索查詢(xún)時(shí)突然發(fā)現(xiàn)在首頁(yè)用的分頁(yè)代碼在搜索頁(yè)使用時(shí)出現(xiàn)錯(cuò)誤,首頁(yè)分頁(yè)代碼(代碼中標(biāo)注start與end部分為分頁(yè)代碼)
$res=D('Info');// 實(shí)例化Data數(shù)據(jù)對(duì)象
/**********start************/
import('ORG.Util.Page');// 導(dǎo)入分頁(yè)類(lèi)
$count= $res->count();// 查詢(xún)滿(mǎn)足要求的總記錄數(shù)
$Page = new Page($count,3);// 實(shí)例化分頁(yè)類(lèi) 傳入總記錄數(shù)(另一個(gè)參數(shù)為自定義分頁(yè)條數(shù))
//$Page->rollPage = 3;//默認(rèn)情況下,頁(yè)面顯示的頁(yè)數(shù)是5 可以修改
$show= $Page->show();// 分頁(yè)顯示輸出
// 進(jìn)行分頁(yè)數(shù)據(jù)查詢(xún)
$list = $res->order('iid desc')->limit($Page->firstRow.','.$Page->listRows)->select();
/**********end************/
$this->assign('list',$list);// 賦值數(shù)據(jù)集
/*********start*************/
$this->assign('page',$show);// 賦值分頁(yè)輸出
/*********end*************/
$this->display(); // 輸出模板
}
搜索代碼(代碼中start與end之間標(biāo)注的部分為分頁(yè)代碼,注釋標(biāo)注了分頁(yè)跳轉(zhuǎn)時(shí)保存查詢(xún)條件),以下兩種方法都可以保存條件(不清楚這樣是不是寫(xiě)的規(guī)范),查詢(xún):
$res=D('Info');
$name=$_REQUEST['name'];
$sear['name'] = array('like','%'.$name.'%');
/*********start*************/
import('ORG.Util.Page');// 導(dǎo)入分頁(yè)類(lèi)
$count=$res->where($sear)->count();//查詢(xún)數(shù)據(jù)條數(shù)
$Page=new Page($count,2);//實(shí)例化分頁(yè)函數(shù)
/*********end*************/
//分頁(yè)跳轉(zhuǎn)的時(shí)候保存查詢(xún)條件
foreach($sear as $key=>$val) {
$Page->parameter .= "$key=".urlencode($name)."&";//賦值給Page
}
/*********start*************/
$show=$Page->show();//分頁(yè)顯示輸出
// 進(jìn)行分頁(yè)數(shù)據(jù)查詢(xún)
$val=$res->where($sear)->$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
/*********end*************/
$this->assign('search',$val);
/*********start*************/
$this->assign('page',$show);
/*********end*************/
$this->display();
}
注:
$Page->parameter .= "$key=".urlencode($name)."&";//賦值給Page
}
"$key=".urlencode($name)."&";
第二種:
$res=D('Info');
$name=$_REQUEST['name'];
$sear['name'] = array('like','%'.$name.'%');
import('ORG.Util.Page');// 導(dǎo)入分頁(yè)類(lèi)
$count=$res->where($sear)->count();//查詢(xún)數(shù)據(jù)條數(shù)
$Page=new Page($count,2);//實(shí)例化分頁(yè)函數(shù)
//分頁(yè)跳轉(zhuǎn)的時(shí)候保證查詢(xún)條件
foreach($sear as $key=>$val) {
$Page->parameter .= "$key=".urlencode($val[1]).'&';
}
$show=$Page->show();//分頁(yè)顯示輸出
// 進(jìn)行分頁(yè)數(shù)據(jù)查詢(xún)
$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('search',$val);
$this->assign('page',$show);
$this->display();
}
使用$val[1]是因?yàn)?sear是一個(gè)數(shù)組,而$val[1]對(duì)應(yīng)的是我要查找的條件,這樣就可以保持條件進(jìn)行分頁(yè)了.
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》及《ThinkPHP常用方法總結(jié)》
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- tp5框架內(nèi)使用tp3.2分頁(yè)的方法分析
- tp5框架無(wú)刷新分頁(yè)實(shí)現(xiàn)方法分析
- TP5框架實(shí)現(xiàn)自定義分頁(yè)樣式的方法示例
- ThinkPHP分頁(yè)類(lèi)使用詳解
- ThinkPHP 3.2 數(shù)據(jù)分頁(yè)代碼分享
- thinkPHP5分頁(yè)功能實(shí)現(xiàn)方法分析
- ThinkPHP3.2.3實(shí)現(xiàn)分頁(yè)的方法詳解
- 在Thinkphp中使用ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法
- Thinkphp和Bootstrap結(jié)合打造個(gè)性的分頁(yè)樣式(推薦)
- thinkPHP5框架分頁(yè)樣式類(lèi)完整示例
- thinkPHP3.2實(shí)現(xiàn)分頁(yè)自定義樣式的方法
- TP3.2框架分頁(yè)相關(guān)實(shí)現(xiàn)方法分析
相關(guān)文章
php curl簡(jiǎn)單采集圖片生成base64編碼(并附curl函數(shù)參數(shù)說(shuō)明)
今天小編就為大家分享一篇關(guān)于php curl簡(jiǎn)單采集圖片生成base64編碼(并附curl函數(shù)參數(shù)說(shuō)明),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Yii框架通過(guò)請(qǐng)求組件處理get,post請(qǐng)求的方法分析
這篇文章主要介紹了Yii框架通過(guò)請(qǐng)求組件處理get,post請(qǐng)求的方法,結(jié)合實(shí)例形式分析了Yii框架請(qǐng)求組件的調(diào)用及處理get、post請(qǐng)求的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09使用pthreads實(shí)現(xiàn)真正的PHP多線(xiàn)程(需PHP5.3以上版本)
PHP 5.3 以上版本,使用pthreads PHP擴(kuò)展,可以使PHP真正地支持多線(xiàn)程。多線(xiàn)程在處理重復(fù)性的循環(huán)任務(wù),能夠大大縮短程序執(zhí)行時(shí)間2014-05-05ThinkPHP中的關(guān)聯(lián)模型注意點(diǎn)
這篇文章主要介紹了初學(xué)ThinkPHP中的關(guān)聯(lián)模型注意點(diǎn),需要的朋友可以參考下2014-06-06openflashchart 2.0 簡(jiǎn)單案例php版
openflashchart是一種比較實(shí)用的圖標(biāo)呈現(xiàn)插件,而且是開(kāi)源的2012-05-05php、mysql查詢(xún)當(dāng)天,查詢(xún)本周,查詢(xún)本月的數(shù)據(jù)實(shí)例(字段是時(shí)間戳)
下面小編就為大家?guī)?lái)一篇php、mysql查詢(xún)當(dāng)天,查詢(xún)本周,查詢(xún)本月的數(shù)據(jù)實(shí)例(字段是時(shí)間戳)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02如何使用php腳本給html中引用的js和css路徑打上版本號(hào)
這篇文章主要介紹了如何使用php腳本給html中引用的js和css路徑打上版本號(hào),打版本號(hào)有個(gè)好處就是可以解決外部應(yīng)用文件實(shí)時(shí)更新問(wèn)題,喜歡的朋友一起看看全文吧2015-11-11