ThinkPHP データ pagingPage.class.php
ページング クラスを取得する
ThinkPHP は、データ ページング用の拡張クラス ライブラリ Page を提供しています。これは http://www.thinkphp.cn/extend/241.html からダウンロードするか、公式の完全な拡張パッケージ (http: //www.thinkphp.cn/down/253.html) には、ページング拡張クラスも含まれています。解凍した Page.class.php を ThinkPHP/Extend/Library/ORG/Util/ ディレクトリー (存在しない場合は手動で作成してください) に配置します。もちろん、拡張クラス ライブラリの場所は実際にはより任意であり、プロジェクトのクラス ライブラリ ディレクトリに置くこともできます。違いはインポート パスにあります。
ページング クエリ
ページング クラスはクエリと組み合わせる必要があります。目的は、現在のページング データを取得することです (完全なページング データを取得する方法もあります)。最初にデータを取得してからページングのフロントエンドに表示する方法ですが、これはこの記事には含まれていません) 説明でも推奨されていません)。制限メソッドまたはページメソッドの使用は、データベースの種類とは関係ありません。まず、テスト用にデータベースに think_data データ テーブルを作成します。
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 ;
コードをコピー
ページング クエリを使用するには、一般的に 2 つのクエリが必要です。つまり、最初のクエリは条件を満たすデータの総量を取得し、現在のページング データを 2 度目にクエリします。この目的は、生成されるページの総数を計算できるように、ページング クラスに現在のデータの総数を伝えることです。表示はページを上下に移動するだけで済みます。実際、合計クエリは省略またはキャッシュできます)。
標準的なページネーションの使用例は次のとおりです。
$Data = M('Data'); // 实例化Data数据对象 import('ORG.Util.Page');// 导入分页类 $count = $Data->where($map)->count();// 查询满足要求的总记录数 $map表示查询条件 $Page = new Page($count);// 实例化分页类 传入总记录数 $show = $Page->show();// 分页显示输出 // 进行分页数据查询 $list = $Data->where($map)->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->display(); // 输出模板
コードをコピー
データがない場合、ページネーションは空白で表示されます。したがって、テストする前に、データ テーブルに特定のデータがあることを確認してください。そうしないと、ページング効果が見られない可能性があります。ページ メソッドを使用してクエリを実行する場合は、それを
$Data = M('Data'); // 实例化Data数据对象 import('ORG.Util.Page');// 导入分页类 $count = $Data->where($map)->count();// 查询满足要求的总记录数 $Page = new Page($count);// 实例化分页类 传入总记录数 // 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取 $nowPage = isset($_GET['p'])?$_GET['p']:1; $list = $Data->where($map)->order('create_time')->page($nowPage.','.$Page->listRows)->select(); $show = $Page->show();// 分页显示输出 $this->assign('page',$show);// 赋值分页输出 $this->assign('list',$list);// 赋值数据集 $this->display(); // 输出模板
に変更できます。コードをコピーします
次に、テンプレートにページング出力変数を追加できます
<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>
コードをコピーします
ページング出力では、テンプレートで出力するために {$page} 変数を使用するだけでよいことがわかります。
ページング設定
ページング変数を設定する
デフォルトでは、ページングで渡される変数は p で、生成されるページング ジャンプ アドレスは次のようになります:- http://serverName/index.php/Data/index/p /1
- http://serverName/index.php/Data/index/p/2
コードをコピー
VAR_PAGE 構成パラメータを変更するように構成できます:
- 'VAR_PAGE'=>'page'
コード
をコピーすると、ページング アドレスは次のようになります:
- http://serverName/index.php/Data/index/page/1
- http://serverName/index.php/Data/index/ page/ 1
コードをコピー
ページあたりのレコード数を設定します
デフォルトでは、ページング表示では 1 ページあたり 20 個のデータが表示されます。各ページに表示されるデータの量を変更することができます。ページング クラスをインスタンス化します。 2 番目のパラメーターを渡すだけです:- $Page = new Page($count,5) // ページング クラスをインスタンス化して、ページごとに 5 つのレコードを表示します。コード
クエリによるもの メソッド内で $Page->listRows 属性を使用しているので変更する必要はありませんが、クエリメソッド内で直接数値を使用する場合は忘れずに一緒に変更してください。
以下は、公式ページング例の表示効果です:受信ページング条件
デフォルトでは、ページング クラスは、ページング ジャンプの渡された値として、現在のページの POST (優先度) または GET 変数を自動的に取得します。現在のページ ジャンプのパラメータは、parameter 属性を設定することで設定できます。parameter 属性は、文字列と配列という 2 つの値の受け渡し方法をサポートしています。この文字列は、var1=val1&var2=val2... の形式を採用します。例:
foreach($map as $key=>$val) {
- $Page->parameter .= "$key="。 urlencode( $val).'&';
- }
- コードをコピー
または、配列を直接渡します:
$Page->parameter = array_map('urlencode',$map);
- コードをコピー
U 関数は内部で呼び出されるため、ページング クラスによって最終的に生成されるページング ジャンプ リンクは、現在の URL 設定に基づいて現在の URL パターンと一致するアドレスを自動的に生成するため、ページング リンクのパラメータを心配する必要はありません。 URL アドレスに影響します。
ページング ルーティングのサポート
ページング ジャンプ リンク アドレスでルーティングを使用する場合、URL パラメーターを設定できます。たとえば、ページング URL アドレスの形式が- http://serverName/data/index/1
- http: //serverName/data/index/2
- http://serverName/data/index/3
コードをコピーします
このような URL ルーティング アドレスを設定するには、
- $Page-> 'data/index';
コードをコピー
設定後、ページングクラスのリンクアドレスは上記のURL形式のアドレスを自動生成します。
urlパラメータとパラメータを同時に使用した場合、後者は無効となることに注意してください。
表示されるページ数を設定します
ページング クラスをインスタンス化した後、関連するプロパティを設定できます。デフォルトでは、ページに表示されるページ数は 5 ですが、これを変更できます:- $Page->rollPage = 3;
コードをコピーします
この方法では、3 ページネーションのみが表示されます。
ページング表示のカスタマイズ
上記はページングのパラメータ設定について説明しました。 次に、ページング表示効果 (スタイルを含む) を設定する方法について説明します。デフォルトのページング効果は、すべての要件を満たしていない場合があります。ページング クラスには、一部のデフォルト設定を変更するための setConfig メソッドが用意されています。例:- $page->setConfig('header','members');
コードをコピー
setConfig メソッドでサポートされる属性には次のものが含まれます:
header | ヘッダーの説明情報、デフォルト値 "レコード" |
prev | 前のページの説明情報、デフォルト値は「前のページ」 |
next | 次のページの説明情報、デフォルト値は「次のページ」 |
first | 最初のページの説明情報、デフォルト値は「最初のページ」です |
last | 最後のページの説明情報、デフォルト値は「最後のページ」です |
theme | 上記のすべての要素の組み合わせを含むページング テーマの説明情報。この属性を設定すると、ページングの各単位の表示位置が変更されます。デフォルト値は "%totalRow% %header% %nowPage%/%" です。 totalPage% Page %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%" |

ホット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)

ホットトピック









DDREASE は、ハード ドライブ、SSD、RAM ディスク、CD、DVD、USB ストレージ デバイスなどのファイル デバイスまたはブロック デバイスからデータを回復するためのツールです。あるブロック デバイスから別のブロック デバイスにデータをコピーし、破損したデータ ブロックを残して正常なデータ ブロックのみを移動します。 ddreasue は、回復操作中に干渉を必要としないため、完全に自動化された強力な回復ツールです。さらに、ddasue マップ ファイルのおかげでいつでも停止および再開できます。 DDREASE のその他の主要な機能は次のとおりです。 リカバリされたデータは上書きされませんが、反復リカバリの場合にギャップが埋められます。ただし、ツールに明示的に指示されている場合は切り詰めることができます。複数のファイルまたはブロックから単一のファイルにデータを復元します

0.この記事は何をするのですか?私たちは、多用途かつ高速な最先端の生成単眼深度推定モデルである DepthFM を提案します。従来の深度推定タスクに加えて、DepthFM は深度修復などの下流タスクでも最先端の機能を実証します。 DepthFM は効率的で、いくつかの推論ステップ内で深度マップを合成できます。この作品について一緒に読みましょう〜 1. 論文情報タイトル: DepthFM: FastMonocularDepthEstimationwithFlowMatching 著者: MingGui、JohannesS.Fischer、UlrichPrestel、PingchuanMa、Dmytr

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

iPhone のモバイル データ接続に遅延や遅い問題が発生していませんか?通常、携帯電話の携帯インターネットの強度は、地域、携帯ネットワークの種類、ローミングの種類などのいくつかの要因によって異なります。より高速で信頼性の高いセルラー インターネット接続を実現するためにできることがいくつかあります。解決策 1 – iPhone を強制的に再起動する 場合によっては、デバイスを強制的に再起動すると、携帯電話接続を含む多くの機能がリセットされるだけです。ステップ 1 – 音量を上げるキーを 1 回押して放します。次に、音量小キーを押して、もう一度放します。ステップ 2 – プロセスの次の部分は、右側のボタンを押し続けることです。 iPhone の再起動が完了するまで待ちます。セルラーデータを有効にし、ネットワーク速度を確認します。もう一度確認してください 修正 2 – データ モードを変更する 5G はより優れたネットワーク速度を提供しますが、信号が弱い場合はより適切に機能します

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

世界は狂ったように大きなモデルを構築していますが、インターネット上のデータだけではまったく不十分です。このトレーニング モデルは「ハンガー ゲーム」のようであり、世界中の AI 研究者は、データを貪欲に食べる人たちにどのように餌を与えるかを心配しています。この問題は、マルチモーダル タスクで特に顕著です。何もできなかった当時、中国人民大学学部のスタートアップチームは、独自の新しいモデルを使用して、中国で初めて「モデル生成データフィード自体」を実現しました。さらに、これは理解側と生成側の 2 つの側面からのアプローチであり、両方の側で高品質のマルチモーダルな新しいデータを生成し、モデル自体にデータのフィードバックを提供できます。モデルとは何ですか? Awaker 1.0 は、中関村フォーラムに登場したばかりの大型マルチモーダル モデルです。チームは誰ですか?ソフォンエンジン。人民大学ヒルハウス人工知能大学院の博士課程学生、ガオ・イージャオ氏によって設立されました。

最近、軍事界は、米軍戦闘機が AI を使用して完全自動空戦を完了できるようになったというニュースに圧倒されました。そう、つい最近、米軍のAI戦闘機が初めて公開され、その謎が明らかになりました。この戦闘機の正式名称は可変安定性飛行シミュレーター試験機(VISTA)で、アメリカ空軍長官が自ら飛行させ、一対一の空戦をシミュレートした。 5 月 2 日、フランク ケンダル米国空軍長官は X-62AVISTA でエドワーズ空軍基地を離陸しました。1 時間の飛行中、すべての飛行動作が AI によって自律的に完了されたことに注目してください。ケンダル氏は「過去数十年にわたり、私たちは自律型空対空戦闘の無限の可能性について考えてきたが、それは常に手の届かないものだと思われてきた」と語った。しかし今では、
