ホームページ  >  記事  >  バックエンド開発  >  PHP テンプレートのページネーション コードの解析を簡素化する Pages_PHP チュートリアル

PHP テンプレートのページネーション コードの解析を簡素化する Pages_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:48:12859ブラウズ

テンプレートを使用すると、ページング情報を表示するのが面倒、複数のテンプレートにページングブロックが存在するなどの問題が発生します。
例:
---合計 20 レコード、現在のページ 3/5 ホーム ページ 前のページ 次のページ 最後のページ GO-----
この問題に初めて遭遇した友人は、それを解決することを考えているようです。 PHP を使用して実装する方法を考えていますが、どのように設計しても、最終的には 2 つのオプションに分けて設計することになります
1. ネストされたループを使用して実装します
2. それを実行するには、n 個の複数の判断を使用します
これはまだ面倒で、解析にはサーバー側のリソースが使用されます。
別の方法を試して、PHP の代わりに JavaScript を使用することもできます。 ! ! ! 、これにより、php スクリプト内のコードの量が削減され、ページングの解析作業をクライアント自体に任せることもできます。ただし、JavaScript のデバッグはさらに面倒になる場合があります。
最も重要なことは、ページネーションを表示するときにテンプレートを解析する手間を簡素化できることです。
以下は、pear をサポートする itx テンプレート ツールによって解析されたテンプレートです。
ここで、 は同様です。文字列は変数です。
----------------list.tpl----------

コードをコピーコード以下のように:

//その他の HTML コード

右" nowrap>


//その他の HTML コード
---------------------page.js--------------------------
/ / ------------------------合計 20 件、現在のページ 3/5 ホームページ 前のページ 次のページ 最後のページ GO-------------- -- ---
//recordCount = 20;
//show = 20
//pageNow = 3;
//document.write (showListPage) (recordCount, show, pageCount, pageNow, pageStr));
function showListPage0(recordCount, show, pageCount, pageNow, pageStr){
if(pageCount<1) pageCount =0;
str = '
合計'+recordCount+' レコード、現在'+pageNow+'/'+pageCount+' ';
if(pageNow<=1)
str += "ホーム";
else
str += " ホームページ ";
if(pageNow<=1)
str += " 前のページ";
else
str + = " ";
if(pageNow>=pageCount)
str += "次のページ";
else
str += "
次のページ ";
if(pageNow> =pageCount)
str += "最後のページ";
else
str += " 最後のページ ";
str += "ページ";
str += " ";
return str;
}
function pagego0(pageGo,pageNow,pageCount,pageStr){
if(pageGo>=1 && pageGo<=pageCount && pageNow!=pageGo)
window.location = pageStr .replace("_page_", pageGo);


さらに、この方法はテンプレートがなくても使用でき、{recordcount} のような同様の文字列を使用して変数の値を置き換えるだけです。



http://www.bkjia.com/PHPjc/319798.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/319798.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。