php對(duì)xml數(shù)據(jù)分頁(yè) php實(shí)現(xiàn)分頁(yè)功能

在php中要顯示txt中的內(nèi)容,但是,txt中的內(nèi)容很多,要分頁(yè)來(lái)顯示,怎樣做???給出個(gè)代碼范例可以嗎?謝謝

下面是最簡(jiǎn)單的方法:

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、環(huán)翠網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為環(huán)翠等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

$str=file_get_contents('a.txt');//獲取文件所有內(nèi)容

$page_size=1024;//每頁(yè)文字多少

$page_no=5;//需要顯示第幾頁(yè)

echo substr($str, ($pahe_no-1)*$page_size, $page_size);//輸出相應(yīng)頁(yè)的內(nèi)容

當(dāng)然,上面的例子只是演示其原理,事實(shí)上比較復(fù)雜,比如這樣可能把漢字分為兩半而產(chǎn)生亂碼,如果內(nèi)容里面有HTML代碼的分?jǐn)嗪罂赡艹霈F(xiàn)異常。這些問(wèn)題的解決非常麻煩。

php分頁(yè)怎么弄?

原理:

1.設(shè)定每頁(yè)顯示數(shù)

$num = 15;

2.獲取數(shù)據(jù)總數(shù)計(jì)算總頁(yè)數(shù)

3.通過(guò)get方法獲取頁(yè)碼,無(wú)獲取值頁(yè)碼為1,超過(guò)最大頁(yè)數(shù)為最大頁(yè)面數(shù)

$page = $_GET['page'] ? $_GET['page'] : 1;

4.通過(guò)頁(yè)碼來(lái)計(jì)算當(dāng)前顯示起始記錄

$start = $page*$num-1;

5.通過(guò)sql語(yǔ)句查詢

query("select * from tablename limit $start,$num");

然后輸出就行了

頁(yè)面上可以循環(huán)輸出1~總頁(yè)數(shù) 這些數(shù)字來(lái)實(shí)現(xiàn)翻頁(yè),也可以用其他方法

比較方便的方法是,可以去找一個(gè)分頁(yè)類

請(qǐng)問(wèn),xml,可以分頁(yè)嗎?謝謝!

利用FLASH+as3做的分頁(yè)的功能,加載XML,在XML中修改數(shù)據(jù),這里面的重點(diǎn)就是結(jié)合XML,難點(diǎn)就是分頁(yè)時(shí)數(shù)據(jù)讀取后,進(jìn)行拆分。根據(jù)XML的長(zhǎng)度再進(jìn)行分頁(yè)讀取,加載圖片這些都比較簡(jiǎn)單

通過(guò)AS3加載XML,在XML中修改圖片連接地址等,可隨意修改數(shù)據(jù)。。。

在php中如何對(duì)多條記錄進(jìn)行分頁(yè)

方法一:講sql查詢進(jìn)行分頁(yè)進(jìn)行,需要調(diào)用幾個(gè)函數(shù),具體見腳本:

1.pager.class.php

?php

class pager {

public $sql; //SQL查詢語(yǔ)句

public $datanum; //查詢所有的數(shù)據(jù)總記錄數(shù)

public $page_size; //每頁(yè)顯示記錄的條數(shù)

protected $_errstr;

protected $_conn;

protected $_query_id;

public function query($query)///這個(gè)函數(shù)有問(wèn)題,暫時(shí)可以不用

{

$ret = false;

if (!empty($query)) {

if ($this-_conn === false || !is_resource($this-_conn)) {

warningLog(__METHOD__ . ': query sql with no connection', true);

return false;

}

$this-_query_id = @mysql_query($query, $this-_conn);

if ($this-_query_id === false) {

$this-_errstr = @mysql_error();

$ret = false;

} else {

$this-_errstr = 'SUCCESS';

$ret = $this-_query_id;

}

}

$msg = ($ret === false) ? 'false' : strval($ret);

debugLog(__METHOD__.": [$msg] returned for sql query [$query]");

return $ret;

}

function __construct($sql,$page_size) {

$result = mysql_query($sql);

$datanum = mysql_num_rows($result);

$this-sql=$sql;

$this-datanum=$datanum;

$this-page_size=$page_size;

}

//當(dāng)前頁(yè)數(shù)

public function page_id() {

if($_SERVER['QUERY_STRING'] == ""){

return 1;

}elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){

return 1;

}else{

return intval(substr($_SERVER['QUERY_STRING'],8));

}

}

//剩余url值

public function url() {

if($_SERVER['QUERY_STRING'] == ""){

return "";

}elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){

return "".$_SERVER['QUERY_STRING'];

}else{

return str_replace("page_id=".$this-page_id(),"",$_SERVER['QUERY_STRING']);

}

}

//總頁(yè)數(shù)

public function page_num() {

if($this-datanum == 0){

return 1;

}else{

return ceil($this-datanum/$this-page_size);

}

}

//數(shù)據(jù)庫(kù)查詢的偏移量

public function start() {

return ($this-page_id()-1)*$this-page_size;

}

//數(shù)據(jù)輸出

public function sqlquery() {

return $this-sql." limit ".$this-start().",".$this-page_size;

}

//獲取當(dāng)前文件名

private function php_self() {

return $_SERVER['PHP_SELF'];

}

//上一頁(yè)

private function pre_page() {

if ($this-page_id() == 1) { //頁(yè)數(shù)等于1

return "a href=".$this-php_self()."?page_id=1".$this-url()."上一頁(yè)/a ";

}elseif ($this-page_id() != 1) { //頁(yè)數(shù)不等于1

return "a href=".$this-php_self()."?page_id=".($this-page_id()-1).$this-url()."上一頁(yè)/a ";

}

}

//顯示分頁(yè)

private function display_page() {

$display_page = "";

if($this-page_num() = 10){ //小于10頁(yè)

for ($i=1;$i=$this-page_num();$i++) //循環(huán)顯示出頁(yè)面

$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";

return $display_page;

}elseif($this-page_num() 10){ //大于10頁(yè)

if($this-page_id() = 6){

for ($i=1;$i=10;$i++) //循環(huán)顯示出頁(yè)面

$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";

return $display_page;

}elseif(($this-page_id() 6) ($this-page_num()-$this-page_id() = 4)){

for ($i=$this-page_id()-5;$i=$this-page_id()+4;$i++) //循環(huán)顯示出頁(yè)面

$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";

return $display_page;

}elseif(($this-page_id() 6) ($this-page_num()-$this-page_id() 4)){

for ($i=$this-page_num()-9;$i=$this-page_num();$i++) //循環(huán)顯示出頁(yè)面

$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";

return $display_page;

}

}

}

//下一頁(yè)

private function next_page() {

if ($this-page_id() $this-page_num()) { //頁(yè)數(shù)小于總頁(yè)數(shù)

return "a href=".$this-php_self()."?page_id=".($this-page_id()+1).$this-url()."下一頁(yè)/a ";

}elseif ($this-page_id() == $this-page_num()) { //頁(yè)數(shù)等于總頁(yè)數(shù)

return "a href=".$this-php_self()."?page_id=".$this-page_num().$this-url()."下一頁(yè)/a ";

}

}

// 設(shè)置分頁(yè)信息

public function set_page_info() {

$page_info = "共".$this-datanum."條 ";

$page_info .= "a href=".$this-php_self()."?page_id=1".$this-url()."首頁(yè)/a ";

$page_info .= $this-pre_page();

$page_info .= $this-display_page();

$page_info .= $this-next_page();

$page_info .= "a href=".$this-php_self()."?page_id=".$this-page_num().$this-url()."尾頁(yè)/a ";

$page_info .= "第".$this-page_id()."/".$this-page_num()."頁(yè)";

return $page_info;

}

}

?

2.腳本2:

?php

//類的用法

// 讀取分頁(yè)類

include("pager.class.php");

// 數(shù)據(jù)庫(kù)連接初始化

// $db = new mysql();

$impeach_host = '10.81.43.139';

$impeach_usr = 'vmtest15';

$impeach_passwd = 'vmtest15';

$impeach_name = 'ufeature';

$impeach_con = mysql_connect($impeach_host, $impeach_usr, $impeach_passwd) or

die("Can't connect ".mysql_error());

mysql_select_db($impeach_name, $impeach_con);

// 這是一個(gè)sql查詢語(yǔ)句,并得到查詢結(jié)果

$sql = "select word from ufeature.spam_accuse_word_list where flag='0'";

// 分頁(yè)初始化

$page = new pager($sql,20);

// 20是每頁(yè)顯示的數(shù)量

// $res_1 = mysql_query($sql) or

// die("Can't get result ".mysql_error());

$result=mysql_query($page-sqlquery());

while($info = mysql_fetch_array($result,MYSQL_ASSOC)){

// while($info = mysql_fetch_array($res_1, MYSQL_ASSOC)){

echo $info["word"]."br/";

}

// 頁(yè)碼索引條

echo $page-set_page_info();

?

方法二:使用ajax的方法

1、首先了解SQL語(yǔ)句中的limit用法

SELECT * FROM table …… limit 開始位置 , 操作條數(shù) (其中開始位置是從0開始的)

例子

取前20條記錄:SELECT * FROM table …… limit 0 , 20

從第11條開始取20條記錄:SELECT * FROM table …… limit 10 , 20

LIMIT n 等價(jià)于 LIMIT 0,n。

如select * from table LIMIT 5; //返回前5行,和select * from table LIMIT 0,5一樣

2、分頁(yè)原理

所謂分頁(yè)顯示,也就是講數(shù)據(jù)庫(kù)中的結(jié)果集,一段一段顯示出來(lái)

怎么分段,當(dāng)前在第幾段 (每頁(yè)有幾條,當(dāng)前再第幾頁(yè))

前10條記錄:select * from table limit 0,10

第11至20條記錄:select * from table limit 10,10

第21至30條記錄:select * from table limit 20,10

分頁(yè)公式:

(當(dāng)前頁(yè)數(shù) - 1 )X 每頁(yè)條數(shù) , 每頁(yè)條數(shù)

Select * from table limit ($Page- 1) * $PageSize, $PageSize

3、$_SERVER["REQUEST_URI"]函數(shù)

預(yù)定義服務(wù)器變量的一種,所有$_SERVER開頭的都叫做預(yù)定于服務(wù)器變量。

REQUEST_URI的作用是取得當(dāng)前URI,也就除域名外后面的完整的地址路徑。

例子:

當(dāng)前頁(yè)為:;cid=22

echo $_SERVER["REQUEST_URI"]

結(jié)果為:/home.php?id=23cid=22

4、parse_url()解析URL函數(shù)

parse_url() 是講URL解析成有固定鍵值的數(shù)組的函數(shù)

例子

$ua=parse_url("");

print_r($ua);

結(jié)果:

Array

(

[scheme] = http ;協(xié)議

[host] = hostname ;主機(jī)域名

[user] = username ;用戶

[pass] = password ;密碼

[path] = /path ;路徑

[query] = arg=value ;取參數(shù)

[fragment] = anchor ;

)

5、代碼實(shí)例

這個(gè)一個(gè)留言的分頁(yè),分為3個(gè)部分,一個(gè)是數(shù)據(jù)庫(kù)設(shè)計(jì),一個(gè)是連接頁(yè)面,一個(gè)是顯示頁(yè)面。

(1)設(shè)計(jì)數(shù)據(jù)庫(kù)

設(shè)計(jì)數(shù)據(jù)庫(kù)名為bbs,有一個(gè)數(shù)據(jù)表為message,里面包含title,lastdate,user,content等字段,分別表示留言標(biāo)題,留言日前,留言人,留言的內(nèi)容

(2)連接頁(yè)面

?php

$conn = @ mysql_connect("localhost", "root", "123456") or die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤");

mysql_select_db("bbs", $conn);

mysql_query("set names 'GBK'"); //使用GBK中文編碼;

//將空格,換行轉(zhuǎn)換為HTML可解析

function htmtocode($content) {

$content = str_replace("\n", "br", str_replace(" ", " ", $content)); //兩個(gè)str_replace嵌套

return $content;

}

//$content=str_replace("'","‘",$content);

//htmlspecialchars();

?

(3)顯示頁(yè)面

?php

include("conn.php");

$pagesize=2; //設(shè)置每頁(yè)顯示2個(gè)記錄

$url=$_SERVER["REQUEST_URI"];

$url=parse_url($url);

$url=$url[path];

$numq=mysql_query("SELECT * FROM `message`");

$num = mysql_num_rows($numq);

if($_GET){

$pageval=$_GET;

$page=($pageval-1)*$pagesize;

$page.=',';

}

if($num $pagesize){

if($pageval=1)$pageval=1;

echo "共 $num 條".

" a href=$url?page=".($pageval-1)."上一頁(yè)/a a href=$url?page=".($pageval+1)."下一頁(yè)/a";

}

$SQL="SELECT * FROM `message` limit $page $pagesize ";

$query=mysql_query($SQL);

while($row=mysql_fetch_array($query)){

?

table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef"

tr bgcolor="#eff3ff"

td標(biāo)題:?php echo $row[title]?/td td時(shí)間:?php echo $row[lastdate]?/td

/tr

tr bgcolor="#eff3ff"

td 用戶:?php echo $row[user]?/tdtd/td

/tr

tr

td內(nèi)容:?php echo htmtocode($row[content]);?/td

/tr

br

/table

?php

}

?

方法3:

script

function viewpage(p){

if(window.XMLHttpRequest){

var xmlReq = new XMLHttpRequest();

} else if(window.ActiveXObject) {

var xmlReq = new ActiveXObject('Microsoft.XMLHTTP');

}

var formData = "page="+p;

xmlReq.onreadystatechange = function(){

if(xmlReq.readyState == 4){

document.getElementByIdx_x('content2').innerHTML = xmlReq.responseText;

}

}

xmlReq.open("post", "hotel_list.php", true);

xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xmlReq.send(formData);

return false;

}

/script

腳本2:

header("Content-Type:text/html;charset=GB2312");

$pagesize=10;

//echo $_POST['page'];

$result = mysql_query("Select count(DISTINCT hotelname) FROM ".TBL_HOTELS);

$myrow = mysql_fetch_array($result);

$numrows=$myrow[0];

$pages=intval($numrows/$pagesize);

if ($numrows%$pagesize)

$pages++;

if (isset($_POST['page'])){

$page=intval($_POST['page']);

}

else{

//設(shè)置為第一頁(yè)

$page=1;

}

$first=1;

$prev=$page-1;

$next=$page+1;

$last=$pages;

//計(jì)算記錄偏移量

$offset=$pagesize*($page - 1);

//讀取指定記錄數(shù)

$result=mysql_query("select `hotelname` , count( * ) from ".TBL_HOTELS." GROUP BY `hotelname` order by id desc limit $offset,$pagesize");

$num = mysql_num_rows($result);

while ($row = mysql_fetch_array($result,MYSQL_NUM)) {

$hotelname[] = $row[0];

$countpeople[] = $row[1];

}

for($a=0;$a$num;$a++)

{

//$result=mysql_query("select count(title) from " . TBL_Comments ." where `title`=\"".$title[$a]."\"");

//$row = mysql_fetch_row($result);

echo "TABLE style=\"MARGIN-BOTTOM: 20px\" cellSpacing=0 cellPadding=0 width=100% border=0\n";

echo "TBODY\n";

echo "TR\n";

echo "TD style=\"PADDING-TOP: 5px\" vAlign=top align=left width=80\n";

//rating_bar($title[$a],5);

echo "/TD\n";

echo "TD style=\"PADDING-TOP: 5px\" align=left width=100%A title=$hotelname[$a] style=\"FONT-SIZE: 14px\" href=#$hotelname[$a]/A\n";

echo "/TD/TR\n";

echo " TR\n";

echo "TD/TD\n";

echo "TD style=\"PADDING-LEFT: 0px\"\n";

echo "IMG src=\"images/comment.gif\" border=0 推薦人數(shù):($countpeople[$a]) |\n";

echo "SPAN平均分:STRONG/STRONG (".$count."票) | 評(píng)論數(shù):()/SPAN\n";

echo "/TD/TR/TBODY/TABLE\n";

}

echo "TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\"";

echo "border=0";

echo "TBODYTRTD colSpan=3 height=20";

echo "DIV align=center";

echo "P align=leftFONT color=red第".$page."頁(yè)/總".$pages."頁(yè) | 總".$numrows."條/FONT | ";

if ($page1) echo "a onclick=\"viewpage(".$first.")\" href='#'首頁(yè)/a | ";

if ($page1) echo "a onclick=\"viewpage(".$prev.")\" href='#'上頁(yè)/a | ";

if ($page$pages) echo "a onclick=\"viewpage(".$next.")\" href='#'下頁(yè)/a | ";

if ($page$pages) echo "a onclick=\"viewpage(".$last.")\" href='#'尾頁(yè)/a";

echo "轉(zhuǎn)到第 INPUT maxLength=3 size=3 value=1 name=goto_page 頁(yè) INPUT hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto";

echo "/P/DIV/TD/TR/TBODY/TABLE";

thinkphp怎么對(duì)已提取的數(shù)據(jù)分頁(yè)

我們已經(jīng)了解了如何進(jìn)行數(shù)據(jù)查詢,今天我們來(lái)學(xué)習(xí)下如何對(duì)數(shù)據(jù)進(jìn)行分頁(yè)以及顯示。

獲取分頁(yè)類

ThinkPHP提供了數(shù)據(jù)分頁(yè)的擴(kuò)展類庫(kù)Page,可以在下載,或者下載官方的完整擴(kuò)展包()里面也已經(jīng)包含分頁(yè)擴(kuò)展類了。把解壓后的Page.class.php放入ThinkPHP/Extend/Library/ORG/Util/(如果沒有請(qǐng)手動(dòng)創(chuàng)建)目錄下面。

當(dāng)然,擴(kuò)展類庫(kù)的位置其實(shí)比較隨意,你也可以放入項(xiàng)目的類庫(kù)目錄下面,區(qū)別只是在于你導(dǎo)入路徑的不同而已。

分頁(yè)查詢

分頁(yè)類需要和查詢相結(jié)合,我們可以使用ThinkPHP自帶的limit方法或者page方法,目的就是為了獲取當(dāng)前分頁(yè)的數(shù)據(jù)(也有先獲取完整數(shù)據(jù)然后前端分頁(yè)顯示的方法,不在本文描述內(nèi)容中,也不建議)。使用limit方法或者page方法是和數(shù)據(jù)庫(kù)類型無(wú)關(guān)的。

我們首先在數(shù)據(jù)庫(kù)里面創(chuàng)建一個(gè)think_data數(shù)據(jù)表用于測(cè)試:

CREATE TABLE IF NOT EXISTS `think_data` (

`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,

`title` varchar(255) NOT NULL,

`content` varchar(255) NOT NULL,

`create_time` int(11) unsigned NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

復(fù)制代碼

要使用分頁(yè)查詢,一般來(lái)說(shuō)需要進(jìn)行兩次查詢,即第一次查詢得到滿足條件的總數(shù)據(jù)量,然后第二次查詢當(dāng)前分頁(yè)的數(shù)據(jù),這樣做的作用是告訴分頁(yè)類當(dāng)前的數(shù)據(jù)總數(shù),以便計(jì)算生成的總頁(yè)數(shù)(如果你的顯示只是需要上下翻頁(yè)的話,其實(shí)總數(shù)查詢可以省略或者進(jìn)行緩存)。

一個(gè)標(biāo)準(zhǔn)的分頁(yè)使用示例如下:

$Data = M('Data'); // 實(shí)例化Data數(shù)據(jù)對(duì)象

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

$count = $Data-where($map)-count();// 查詢滿足要求的總記錄數(shù) $map表示查詢條件

$Page = new Page($count);// 實(shí)例化分頁(yè)類 傳入總記錄數(shù)

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

// 進(jìn)行分頁(yè)數(shù)據(jù)查詢

$list = $Data-where($map)-order('create_time')-limit($Page-firstRow.','.$Page-listRows)-select();

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

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

$this-display(); // 輸出模板

復(fù)制代碼

如果沒有任何數(shù)據(jù)的話,分頁(yè)顯示為空白。所以在進(jìn)行測(cè)試之前,請(qǐng)確保你的數(shù)據(jù)表里面有一定的數(shù)據(jù),否則可能看不到分頁(yè)的效果。如果使用page方法查詢的話,則可以改成:

$Data = M('Data'); // 實(shí)例化Data數(shù)據(jù)對(duì)象

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

$count = $Data-where($map)-count();// 查詢滿足要求的總記錄數(shù)

$Page = new Page($count);// 實(shí)例化分頁(yè)類 傳入總記錄數(shù)

// 進(jìn)行分頁(yè)數(shù)據(jù)查詢 注意page方法的參數(shù)的前面部分是當(dāng)前的頁(yè)數(shù)使用 $_GET[p]獲取

$nowPage = isset($_GET['p'])?$_GET['p']:1;

$list = $Data-where($map)-order('create_time')-page($nowPage.','.$Page-listRows)-select();

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

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

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

$this-display(); // 輸出模板

復(fù)制代碼

然后,我們?cè)谀0逯刑砑臃猪?yè)輸出變量即可:

table cellpadding=3 cellspacing=5

volist name="list" id="vo"

tr

td [ {$vo.create_time|date='Y-m-d H:i:s',###} ] {$vo.title} /td

/tr

/volist

tr

/tr

/table

div class="result page"{$page}/div

復(fù)制代碼

可以看到分頁(yè)輸出只需要采用{$page}變量在模板中輸出即可。

分頁(yè)設(shè)置

設(shè)置分頁(yè)變量

默認(rèn)情況下,分頁(yè)傳值的變量是p,生成的分頁(yè)跳轉(zhuǎn)地址可能類似于:

復(fù)制代碼

我們可以配置VAR_PAGE配置參數(shù)來(lái)改變:

'VAR_PAGE'='page'

復(fù)制代碼

則分頁(yè)地址變成:

復(fù)制代碼

設(shè)置每頁(yè)記錄數(shù)

默認(rèn)的情況下,分頁(yè)顯示每頁(yè)會(huì)顯示20條數(shù)據(jù),如果你希望改變每頁(yè)顯示的數(shù)據(jù)量的話,實(shí)例化分頁(yè)類的時(shí)候可以傳人第二個(gè)參數(shù)即可:

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

復(fù)制代碼

由于查詢方法中我們使用了$Page-listRows屬性,所以無(wú)需更改,但如果你是直接在查詢方法中使用數(shù)字請(qǐng)記得一起更改。

下面是官方的分頁(yè)示例的顯示效果:

傳入分頁(yè)條件

默認(rèn)情況下,分頁(yè)類會(huì)自動(dòng)獲取當(dāng)前頁(yè)面的POST(優(yōu)先)或者GET變量作為分頁(yè)跳轉(zhuǎn)的傳值,如果需要指定傳入當(dāng)前分頁(yè)跳轉(zhuǎn)的參數(shù),就可以通過(guò)設(shè)置parameter屬性,parameter屬性支持2種方式傳值:字符串和數(shù)組。字符串采用var1=val1var2=val2...的格式,例如:

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

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

}

復(fù)制代碼

或者直接傳入數(shù)組:

$Page-parameter = array_map('urlencode',$map);

復(fù)制代碼

由于內(nèi)部調(diào)用了U函數(shù),分頁(yè)類最終生成的分頁(yè)跳轉(zhuǎn)鏈接會(huì)根據(jù)當(dāng)前的URL設(shè)置自動(dòng)生成和當(dāng)前URL模式一致的地址,所以無(wú)需擔(dān)心分頁(yè)鏈接的參數(shù)影響URL地址。

分頁(yè)路由支持

如果你的分頁(yè)跳轉(zhuǎn)鏈接地址采用了路由,那么可以通過(guò)設(shè)置url參數(shù),例如,假設(shè)我們的分頁(yè)URL地址格式是:

復(fù)制代碼

這樣的URL路由地址,那么我們就可以設(shè)置

$Page-url = 'data/index';

復(fù)制代碼

設(shè)置后,分頁(yè)類的鏈接地址會(huì)自動(dòng)生成上面的URL格式地址。

注意,url參數(shù)和parameter 同時(shí)使用的話,后者無(wú)效。

設(shè)置顯示的頁(yè)數(shù)

可以在實(shí)例化分頁(yè)類之后,進(jìn)行相關(guān)屬性的設(shè)置。默認(rèn)情況下,頁(yè)面顯示的頁(yè)數(shù)是5,我們可以修改:

$Page-rollPage = 3;

復(fù)制代碼

這樣,頁(yè)面上只能同時(shí)看到3個(gè)分頁(yè)

分頁(yè)顯示定制

上面講的是分頁(yè)的參數(shù)設(shè)置,下面講下如何對(duì)分頁(yè)顯示效果(包括樣式)進(jìn)行設(shè)置。默認(rèn)的分頁(yè)效果可能不能滿足所有的要求,分頁(yè)類提供了一個(gè)setConfig方法來(lái)修改默認(rèn)的一些設(shè)置。例如:

$page-setConfig('header','個(gè)會(huì)員');

復(fù)制代碼

setConfig方法支持的屬性包括:

header 頭部描述信息,默認(rèn)值 “條記錄”

prev 上一頁(yè)描述信息,默認(rèn)值是“上一頁(yè)”

next 下一頁(yè)描述信息,默認(rèn)值是“下一頁(yè)”

first 第一頁(yè)描述信息,默認(rèn)值是“第一頁(yè)”

last 最后一頁(yè)描述信息,默認(rèn)值是“最后一頁(yè)”

theme 分頁(yè)主題描述信息,包括了上面所有元素的組合 ,設(shè)置該屬性可以改變分頁(yè)的各個(gè)單元的顯示位置,默認(rèn)值是

"%totalRow% %header% %nowPage%/%totalPage% 頁(yè) %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%"

通過(guò)setConfig設(shè)置以上屬性可以完美的定制出你的分頁(yè)顯示風(fēng)格。

標(biāo)題名稱:php對(duì)xml數(shù)據(jù)分頁(yè) php實(shí)現(xiàn)分頁(yè)功能
鏈接地址:http://muchs.cn/article42/doccjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站排名、網(wǎng)站設(shè)計(jì)ChatGPT、標(biāo)簽優(yōu)化、網(wǎng)站策劃

廣告

聲明:本網(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)

手機(jī)網(wǎng)站建設(shè)