php搜索數(shù)據(jù)庫(kù)分頁(yè) php分頁(yè)類

PHP中搜索結(jié)果分頁(yè)的幾種方法

因?yàn)樵邳c(diǎn)擊分頁(yè)鏈接時(shí)表單數(shù)據(jù)不會(huì)傳遞會(huì)丟失而導(dǎo)致分頁(yè)鏈接無(wú)效 解決的方法有幾種。 第一種是用網(wǎng)站管理軟件把搜索結(jié)果生成靜態(tài)頁(yè)面并保存一段時(shí)間。 第二種是考慮用session傳遞搜索信息。 當(dāng)搜索信息表單提交并驗(yàn)證之后開(kāi)啟session. session_start(); $_SESSION[keywords] = $X; $_SESSION[searchscope] = $Y; ... //賦值搜索信息。關(guān)鍵字、搜索范圍等等 在搜索結(jié)果頁(yè)面開(kāi)啟session得到搜索信息再提交就行了 session_start(); $keywords=$_SESSION[keywords]; $searchscope$_SESSION[searchscope]; 第三種是用數(shù)據(jù)庫(kù)存儲(chǔ)搜索信息。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為超過(guò)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為扶綏企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),扶綏網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

PHP顯示很多數(shù)據(jù)庫(kù)信息,如何自動(dòng)分頁(yè)呢?代碼

PHP代碼如下:

/*

Author:默默

Date :2006-12-03

*/

$page=isset($_GET['page'])?intval($_GET['page']):1; //這句就是獲取page=18中的page的值,假如不存在page,那么頁(yè)數(shù)就是1。

$num=10; //每頁(yè)顯示10條數(shù)據(jù)

$db=mysql_connect("host","name","pass"); //創(chuàng)建數(shù)據(jù)庫(kù)連接

$select=mysql_select_db("db",$db); //選擇要操作的數(shù)據(jù)庫(kù)

/*

首先咱們要獲取數(shù)據(jù)庫(kù)中到底有多少數(shù)據(jù),才能判斷具體要分多少頁(yè),具體的公式就是

總數(shù)據(jù)數(shù)除以每頁(yè)顯示的條數(shù),有余進(jìn)一。

也就是說(shuō)10/3=3.3333=4 有余數(shù)就要進(jìn)一。

*/

$total=mysql_num_rows(mysql_query("select id from table")); //查詢數(shù)據(jù)的總數(shù),id是數(shù)據(jù)庫(kù)中的一個(gè)自動(dòng)賦值的字段

$pagenum=ceil($total/$num); //獲得總頁(yè)數(shù)

//假如傳入的頁(yè)數(shù)參數(shù)大于總頁(yè)數(shù),則顯示錯(cuò)誤信息

If($page$pagenum || $page == 0){

Echo "Error : Can Not Found The page .";

Exit;

}

$offset=($page-1)*$num; //獲取limit的第一個(gè)參數(shù)的值,假如第一頁(yè)則為(1-1)*10=0,第二頁(yè)為(2-1)*10=10。

$info=mysql_query("select name from table limit $offset,$num"); //獲取相應(yīng)頁(yè)數(shù)所需要顯示的數(shù)據(jù),name是數(shù)據(jù)里的一個(gè)字段

While($it=mysql_fetch_array($info)){

Echo $it['name']."

";

} //顯示數(shù)據(jù)

For($i=1;$i=$pagenum;$i++){

$show=($i!=$page)?"$i":"$i";

Echo $show." ";

}

/*顯示分頁(yè)信息,假如是當(dāng)頁(yè)則顯示粗體的數(shù)字,其余的頁(yè)數(shù)則為超連接,假如當(dāng)前為第三頁(yè)則顯示如下

1 2 3 4 5 6

*/

?

PHP搜索分頁(yè)

上下頁(yè) sql搜索時(shí)候用limit限制最好事先 或者 是 between。

至于,調(diào)用你的函數(shù),,就在主程序中先用sql調(diào)出db的結(jié)果,這是你數(shù)據(jù)庫(kù)的類,再把sql的查詢結(jié)果條數(shù)和分頁(yè)結(jié)合。

php 搜索結(jié)果分頁(yè)問(wèn)題

第二頁(yè)沒(méi)管用 是搜索的值傳遞沒(méi)跟過(guò)去 你把where里面加 like 我也沒(méi)測(cè)試你的程序 你看看我的這個(gè)吧

public function page(){

$User=new NewsModel();

//print_r($User-select()); //關(guān)聯(lián)操作

import("ORG.Util.Page"); // 導(dǎo)入分頁(yè)類

$map=$_GET[ss];

$count = $User-where("title like '%$map%'")-count(); // 查詢滿足要求的總記錄數(shù)

$Page = new Page($count,5); // 實(shí)例化分頁(yè)類 傳入總記錄數(shù)和每頁(yè)顯示的記錄數(shù)

$list = $User-join("think_type on tid=think_type.id")-where("title like '%$map%'")-limit($Page-firstRow.','.$Page-listRows)-select();

//echo "pre";

//print_r($list);

foreach($map as $key=$val) {

$Page-parameter .= "$key=".urlencode($val)."";

}

$show = $Page-show(); // 分頁(yè)顯示輸出

// 進(jìn)行分頁(yè)數(shù)據(jù)查詢 注意limit方法的參數(shù)要使用Page類的屬性

$this-assign('list',$list); // 賦值數(shù)據(jù)集

$this-assign("page",$show); // 賦值分頁(yè)輸出

$this-display();

}

網(wǎng)頁(yè)題目:php搜索數(shù)據(jù)庫(kù)分頁(yè) php分頁(yè)類
新聞來(lái)源:http://muchs.cn/article16/dohoedg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、微信公眾號(hào)靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司