ページングナビゲーションクラス
ページネーション
// +------------------------------------------ ------------------------+
// | PHP バージョン 4 |
// +------------------------------------------ ------------------------+
// |著作権 (c) 1997-2002 PHP グループ |
// +------------------------------------- ------------------------------------+
// |このソース ファイルには、PHP ライセンスのバージョン 2.02 が適用されます。 |
// |これは、このパッケージの LICENSE ファイルにバンドルされており、 |
// |ワールドワイドウェブから |
// | http://www.php.net/license/2_02.txt。 |
// | PHP ライセンスのコピーを受け取っておらず、 |
// |ワールドワイド ウェブを通じて入手するには、メモを |
// | までお送りください。 License@php.net なので、コピーをすぐに郵送できます。 |
// +------------------------------------------ ------------------------+
// |著者: Richard Heyes
// +------------------------------------------ ------------------------+
/**
* Pager クラス
*
* データセットのページングを処理します。使用方法については、提供されている example.php を参照してください。
*
*/
クラスポケベル {
/**
* 現在のページ
* @var integer
* /
var $_currentPage;
/**
* ページごとのアイテム数
* @var integer
*/
var $_perPage;
/**
* 総ページ数
* @var integer
*/
var $_totalPages;
/**
* アイテムデータ。数値インデックス付き配列...
* @var array
*/
var $_itemData ;
/**
* データ内の項目の合計数
* @var integer
*/
var $_totalItems;
/**
* このクラスによって生成されたページデータ
* @var array
*/
var $_pageData;
/**
* Constructor
*
* オブジェクトを設定し、項目の総数を計算します。
*
* @param $params パラメーターの連想配列 これには以下を含めることができます:
* currentPage 現在のページ番号 (オプション)
* ページあたりのアイテム数ページ (オプション)
* itemData ページへのデータ
*/
function pager($params = array( ))
{
グローバル $HTTP_GET_VARS;
$this->_currentPage = max((int)@$HTTP_GET_VARS['pageID'], 1);
$this->_perPage = 8;
$this->_itemData = array();
foreach ( $params as $name => $value) {
$this->{'_' . $name} = $value;
}
$this->_totalItems = count($this->_itemData);
}
/**
* 現在のページデータの配列を返します
*
* @param $pageID 希望のページID (オプション)
* @return array ページデータ
*/
function getPageData($pageID = null)
{
if (isset($pageID)) {
if (!empty($this->_pageData[$pageID])) {
return $this->_pageData[$pageID];
} else {
FALSE を返す;
}
}
if (!isset($this->_pageData) {
$this->_generatePageData();
}
return $this->getPageData($this->_currentPage) ;
}
/**
* 指定されたオフセットのページIDを返します
*
* @param $index ページIDを取得するためのオフセット
* @return int 指定されたオフセットのページID
*/
function getPageIdByOffset($index)
{
if (!isset($this->_pageData) {
$this->_generatePageData() ;
}
if (($index % $this->_perPage) > 0) {
$pageID = ceil((float)$index / (float)$this->_perPage);
} else {
$page ID = $index / $this->_perPage;
}
return $pageID;
}
/**
* 指定されたページ ID のオフセットを返します。たとえば、
* pageID 1 を渡し、perPage 制限が 10 の場合
* 1 と 10 が返されます。PageID が 2 の場合、
* 11 と 20 が返されます。
*
* @params pageID オフセットを取得するための PageID
* @return array 最初と最後のオフセット
*/
function getOffsetByPageId($pageid = null)
{
$pageid = isset($pageid) ? $pageid : $this->_currentPage;
if (!isset($this->_pageData)) {
$this->_generatePageData();
}
if (isset($this->_pageData)データ[ $pageid])) {
return array(($this->_perPage * ($pageid - 1)) + 1, min($this->_totalItems, $this->_perPage * $pageid));
} else {
戻り配列(0,0);
}
}
/**
* 戻る/次へおよびページのリンクを返します
*
* @param $back_html 戻るリンク内に配置する HTML
* @param $next_html 次のリンク内に配置する HTML
* @return 配列 戻る/ページ/次のリンク
*/
function getLinks($back_html = '<<戻る', $next_html = '次>>')
{
$url = $this->_getLinksUrl( );
$back = $this->_getBackLink($url, $back_html);
$pages = $this->_getPageLinks($url);
$next = $this->_getNextLink($url, $ next_html);
return array($back, $pages, $next, 'back' => $back, 'pages' => $pages, 'next' => $next);
}
/ **
* ページ数を返します
*
* @return int ページ数
*/
function numPages()
{
return $this->_totalPages;
}
/**
* 現在のページが最初のページかどうかを返します
*
* @return bool 最初のページかどうか
*/
function isFirstPage()
{
return ( $this-> _currentPage == 1);
}
/**
* 現在のページが最後のページかどうかを返します
*
* @return bool 最後のページかどうか
*/
function isLastPage()
{
return ($this->_currentPage == $this->_totalPages);
}
/* *
* 最後のページが完了したかどうかを返します
*
* @return bool 最終年齢が完了したかどうか
*/
function isLastPageComplete()
{
return !($this->_totalItems % $this->_perPage);
}
/**
* すべてのページデータを計算します
*/
function _generatePageData()
{
$this->totalItems = count($this->gt;_itemData);
$this->totalPages = ceil((float)$this->totalItems / (float)$this->gt;_perPage);
$i = 1;
if (!empty($this->_itemData)) {
foreach ($this->_itemData as $value) {
$this->_pageData[$i][] = $ value;
if (count($this->_pageData[$i]) >= $this->_perPage) {
$i++;
}
}
} else {
$this->_pageData = 配列();
}
}
/**
* 戻る/ページ/次のリンクの正しいリンクを返します
*
* @return string Url
*/
function _getLinksUrl()
{
global $HTTP_SERVER_VARS;
// URL が乱雑にならないようにクエリ文字列を整理します
$querystring = array();
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$qs =explode( 「&」、 $HTTP_SERVER_VARS['QUERY_STRING']);
for ($i = 0, $cnt = count($qs); $i < $cnt; $i++) {
list($name, $value) =explode('=', $qs[$i] );
if ($name != 'pageID') {
$qs[$name] = $value;
unset($qs[$i] );
}
}
if(is_array($qs) ){
foreach ($qs as $name => $value) {
$querystring[] = $name 。 '=' 。 $value;
}
}
return $HTTP_SERVER_VARS['SCRIPT_NAME'] 。 「?」 。 implode('&', $querystring) 。 (!empty($querystring) ? '&' : '') 。 'pageID=';
}
/**
* 戻るリンクを返します
*
* @param $url リンクで使用する URL
* @param $link リンクとして使用する HTML
* @return string リンク
*/
function _getBackLink($url, $link = '<< 戻る')
{
// 戻るリンク
if ($this-> _currentPage > 1) {
$back = '' 。 $link 。 '';
} else {
$back = '';
}
return $back;
}
/**
* ページのリンクを返します
*
* @param $url リンクで使用する URL
* @return string リンク
*/
関数 _getPageLinks($url)
{
/ / 範囲を作成します
$params['itemData'] = range(1, max(1, $this->_totalPages));
$pager =& new Pager($params);
$links = $pager-> ;getPageData($pager->getPageIdByOffset($this->_currentPage));
for ($i=0; $i
$links[$i] = '' 。 $links[$i] 。 '';
}
}
return implode(' ', $links);
}
/**
* 次のリンクを返します
*
* @param $url リンクで使用する URL
* @param $link リンクとして使用する HTML
* @return string リンク
*/
function _getNextLink($url, $link = 'Next >>')
{
if ($this->_currentPage < $this->_totalPages) {
$next = '' 。 $link 。 '';
} else {
$next = '';
}
return $next;
}
}
?>

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

ホットトピック











ログイン画面に「組織から PIN の変更を求められています」というメッセージが表示されます。これは、個人のデバイスを制御できる組織ベースのアカウント設定を使用しているコンピューターで PIN の有効期限の制限に達した場合に発生します。ただし、個人アカウントを使用して Windows をセットアップした場合、エラー メッセージは表示されないのが理想的です。常にそうとは限りませんが。エラーが発生したほとんどのユーザーは、個人アカウントを使用して報告します。私の組織が Windows 11 で PIN を変更するように要求するのはなぜですか?アカウントが組織に関連付けられている可能性があるため、主なアプローチはこれを確認することです。ドメイン管理者に問い合わせると解決できます。さらに、ローカル ポリシー設定が間違っていたり、レジストリ キーが間違っていたりすると、エラーが発生する可能性があります。今すぐ

Windows 11 では、新鮮でエレガントなデザインが前面に押し出されており、最新のインターフェイスにより、ウィンドウの境界線などの細部をカスタマイズして変更することができます。このガイドでは、Windows オペレーティング システムで自分のスタイルを反映した環境を作成するのに役立つ手順について説明します。ウィンドウの境界線の設定を変更するにはどうすればよいですか? + を押して設定アプリを開きます。 Windows [個人用設定] に移動し、[色の設定] をクリックします。ウィンドウの境界線の色の変更設定ウィンドウ 11" width="643" height="500" > [タイトル バーとウィンドウの境界線にアクセント カラーを表示する] オプションを見つけて、その横にあるスイッチを切り替えます。 [スタート] メニューとタスク バーにアクセント カラーを表示するにはスタート メニューとタスク バーにテーマの色を表示するには、[スタート メニューとタスク バーにテーマを表示] をオンにします。

デフォルトでは、Windows 11 のタイトル バーの色は、選択したダーク/ライト テーマによって異なります。ただし、任意の色に変更できます。このガイドでは、デスクトップ エクスペリエンスを変更し、視覚的に魅力的なものにするためにカスタマイズする 3 つの方法について、段階的な手順を説明します。アクティブなウィンドウと非アクティブなウィンドウのタイトル バーの色を変更することはできますか?はい、設定アプリを使用してアクティブなウィンドウのタイトル バーの色を変更したり、レジストリ エディターを使用して非アクティブなウィンドウのタイトル バーの色を変更したりできます。これらの手順を学習するには、次のセクションに進んでください。 Windows 11でタイトルバーの色を変更するにはどうすればよいですか? 1. 設定アプリを使用して + を押して設定ウィンドウを開きます。 Windows「個人用設定」に進み、

Windows インストーラー ページに「問題が発生しました」というメッセージとともに「OOBELANGUAGE」というメッセージが表示されますか?このようなエラーが原因で Windows のインストールが停止することがあります。 OOBE とは、すぐに使えるエクスペリエンスを意味します。エラー メッセージが示すように、これは OOBE 言語の選択に関連する問題です。心配する必要はありません。OOBE 画面自体から気の利いたレジストリ編集を行うことで、この問題を解決できます。クイックフィックス – 1. OOBE アプリの下部にある [再試行] ボタンをクリックします。これにより、問題が発生することなくプロセスが続行されます。 2. 電源ボタンを使用してシステムを強制的にシャットダウンします。システムの再起動後、OOBE が続行されます。 3. システムをインターネットから切断します。 OOBE のすべての側面をオフライン モードで完了する

タスクバーのサムネイルは楽しい場合もありますが、気が散ったり煩わしい場合もあります。この領域にマウスを移動する頻度を考えると、重要なウィンドウを誤って閉じてしまったことが何度かある可能性があります。もう 1 つの欠点は、より多くのシステム リソースを使用することです。そのため、リソース効率を高める方法を探している場合は、それを無効にする方法を説明します。ただし、ハードウェアの仕様が対応可能で、プレビューが気に入った場合は、有効にすることができます。 Windows 11でタスクバーのサムネイルプレビューを有効にする方法は? 1. 設定アプリを使用してキーをタップし、[設定] をクリックします。 Windows では、「システム」をクリックし、「バージョン情報」を選択します。 「システムの詳細設定」をクリックします。 [詳細設定] タブに移動し、[パフォーマンス] の下の [設定] を選択します。 「視覚効果」を選択します

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Windows 11 のディスプレイ スケーリングに関しては、好みが人それぞれ異なります。大きなアイコンを好む人もいれば、小さなアイコンを好む人もいます。ただし、適切なスケーリングが重要であることには誰もが同意します。フォントのスケーリングが不十分であったり、画像が過度にスケーリングされたりすると、作業中の生産性が大幅に低下する可能性があるため、システムの機能を最大限に活用するためにカスタマイズする方法を知る必要があります。カスタム ズームの利点: これは、画面上のテキストを読むのが難しい人にとって便利な機能です。一度に画面上でより多くの情報を確認できるようになります。特定のモニターおよびアプリケーションにのみ適用するカスタム拡張プロファイルを作成できます。ローエンド ハードウェアのパフォーマンスの向上に役立ちます。画面上の内容をより詳細に制御できるようになります。 Windows 11の使用方法

画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる
