Smarty簡単ページング実装方法、Smartyページング実装_PHPチュートリアル
スマートなシンプルページング実装方法、スマートなページング実装
この記事の例は、smarty での単純なページングの実装方法を説明しており、参考のために皆さんに共有されます。具体的な実装方法は以下の通りです
以下はテンプレート内の Smarty コードです。smarty を使用して関連する変数を置き換えます。これは非常に簡単ですが、PHP コードで page パラメーターを渡す必要があります。とてもシンプルなのでこのように分けると良いと思います。ますますsmartyを使うのが好きになりました。
PHP コードは次のとおりです:
{if $pageNum eq $i}
{$i}
{その他}
{$i} {/if}
{/foreach}
{if $pageNum eq 1}
前のページ
{その他}
前のページ {/if}
{if $pageNum eq $pageCount }
次のページ
{その他}
次のページ {/if}
{if $pageNum eq 1}
ホーム
{その他}
ホームページ {/if}
{if $pageNum eq $pageCount}
最後のページ
{その他}
最後のページ
{/if}
{/if}
(合計 {$pageCount} ページ)
これは単なるアイデアです。実際、ページングはそれほど複雑ではありません。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
賢いページネーションの問題
最初の方法:
このアイデアは、最初の 90 項目を抽出し、次に最初の 100 項目を抽出するなど、ページ番号に基づいてデータの 2 つの部分を抽出し、2 つの結果の差を比較することです。
30万レコードの場合、たったの100ページに分割すれば(結果は1万レコード)、約1分半かかります。インデックスがうまく構築されていれば、約 1 分かかります。
//select * from //この文は結果から読み取られるため変更できません。そのため、 *
//(select top @h_count (@filedlist) from @tableName.... .) を使用する必要があります。 big //条件の上限を満たすレコードを取得します
//where
//big.guid //ここがキーで、主キーに基づいて下限の結果から重複レコードを除外します(異なるデータのみを残します) 、つまり、交差の検索です)
//入っていません
//(@table から先頭の @l_count guid を選択します....)//下限
//order @orderby //元の形式、orderby 以降のもののみがここで保持される場合は、gruopby などを含む条件の後のすべてを保持する必要があります。
関数は次のようになります。
public string MakeSqlPager(string sourceSql,int pageIndex)
{
//デフォルトのページ サイズを使用します
string orderbyStr =sourceSql.Substring(sourceSql.ToLower(). IndexOf("order by"));
int Index=sourceSql.ToLower().IndexOf("select");
string bigRes="("+ sourceSql.Insert(index) +6," top "+((pageIndex+ 1)*_pageSize).ToString()+" ")+") as big";
string smallRes="("+sourceSql.Insert(index+6,"top "+ (pageIndex*_pageSize).ToString()+ " ")+")";
return "select * from "+bigRes+" where big.guid not in "+smallRes+" "+orderbyStr;
}
このメソッドは次のようになります改善されました。つまり、2 回目のフィルタリングを行うとき、最初の結果からフィルタリングします。
2番目の方法:
先頭と末尾をピンチオフします。プログラムはまだ書かれていません
SELECT * FROM
(
SELECT TOP 100 * FROM
(
SELECT TOP 100000 * FROM pagetest ORDER BY regt ASC
) as a
ORDER BY regt desc
) as b
ORDER BY regt ASC
がテストされ、約 29 秒かかりました。
比較:
最初の方法の効率は非常に低く、複数のループ比較が必要であり、時間計算量が 1 レベル高いためと推測されます。たとえば、このメソッドの応答時間は、取得されるページ番号と大きな関係があります。
2 番目の方法もまだ受け入れられます...残りの全文>>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











現代の Web 開発では、フロントエンドとバックエンドの分離が非常に一般的な傾向になっており、これにより開発者はプロジェクトをより適切に組織し、プロジェクト開発の効率を向上させることができます。 PHP と Smarty は非常によく使用される 2 つのテクノロジであり、フロントエンドとバックエンドの分離開発を実現するために使用できます。この記事では、PHPとSmartyを使ってフロントエンドとバックエンドの分離開発を実現する方法を紹介します。フロントエンドとバックエンドの分離開発とは何ですか? 従来の Web 開発では、フロントエンドは主にページのプレゼンテーションとバックエンドとの対話ロジックを担当します。バックエンドは主にビジネスを担当します

現在、Web サイト開発は重要なコンポーネント テンプレート エンジンから切り離せません。テンプレート エンジンとは、ページ テンプレートとデータを組み合わせて特定の形式の HTML コードを生成するツールを指します。テンプレート エンジンはコードの重複を大幅に削減し、ページのダイナミクスを向上させることができるため、さまざまな Web サイト開発フレームワークにおいて、テンプレート エンジンは不可欠なコンポーネントです。最も一般的で人気のあるテンプレート エンジンの 1 つは Smarty です。 Smarty は DSL (DomainSpecif

PHP 開発者として、テンプレート エンジンを使用するのは自然な選択です。 Smarty は、HTML/CSS/JavaScript を PHP コードから分離する方法を提供する人気のテンプレート エンジンで、開発者がプロジェクトをより適切に整理および管理できるようにします。この記事では、PHP 開発中に Smarty テンプレート エンジンを使用する方法を学びます。 1. Smarty をインストールする 前に、Smarty をインストールする必要があります。この記事では、Composer を使用してインストールします

thinkphp は、エンタープライズ アプリケーション開発とアジャイル WEB アプリケーション開発を簡素化するために使用されるオープン ソースの軽量 PHP フレームワークであり、開発者は ThinkPHP を使用することで、アプリケーションをより便利かつ迅速に開発および展開できます。 Smarty は、開発者がプログラム ロジックとページ表示を分離 (ビジネス ロジックと表示ロジックの分離) するのに役立つ PHP テンプレート エンジンで、プログラマーはフロントエンド スタッフのページ デザインに影響を与えることなくプログラムのロジック コンテンツを変更できます。フロントエンドスタッフはページを再変更できますが、プログラムのプログラムロジックには影響しません。

PHP は、Web アプリケーションの開発に使用できる強力なサーバー側スクリプト言語です。 Web 開発の初期の頃、プログラマーは Web アプリケーションを開発するために大量の HTML および JavaScript コードを使用しました。ただし、HTML および JavaScript コードが非常に複雑になる可能性があるため、このアプローチは維持および管理が困難です。この問題を解決するために、Smarty テンプレート エンジンが作成されました。 Smarty は、PHP をベースに開発された、W を管理および生成するためのテンプレート エンジンです。

タイトル説明: タイトルには XFF ヘッダを読み込むための API が提供されています。ページ下部に BuildWithSmarty という文字があります。Smarty エンジンで書かれていると判断できます。基本的には、以下の可能性があるページであると判断できます。 SSTi。xff ヘッダーを 127.0.0.1 から 127.0.0{1+2} に変更します。最終ペイロードは間違いなく X-Forwarded-For:{ifvar_dump(file_get_contents('/flag'))}{/ if}SmartySSTI は Smarty を使用しており、PHP をベースに開発されています。

CakePHP は、Web アプリケーション開発を加速するための豊富な機能とツールを提供するオープンソースの PHP フレームワークです。強力な機能の 1 つはテンプレート エンジンです。デフォルトでは、CakePHP はビューのレンダリングに PHP のネイティブ構文を使用します。ただし、Smarty などの別のテンプレート エンジンを使用したい場合もあります。この記事ではCakePHPでSmartyを使う方法を紹介します。 1. スマーティとは何ですか? Smarty は、テンプレートベースの PHP フレームワークです。

インターネットの急速な発展とアップグレードに伴い、PHP は Web アプリケーション開発で広く使用されるプログラミング言語として、徐々に業界で非常に人気のあるプログラミング言語になりました。ただし、PHP 開発プロセスでは、従来のコード実装方法ではコードの可読性や保守性が低下することがよくあります。このとき、効率的なテンプレート エンジンが解決策の 1 つになります。数あるテンプレート エンジンの中でも、Smarty はその強力な機能と優れたパフォーマンスにより、PHP 開発者の間で人気の選択肢となっています。この記事では詳しく説明します
