ホームページ バックエンド開発 PHPチュートリアル PHPでの2ページめくり表示関数の実装

PHPでの2ページめくり表示関数の実装

Jun 06, 2018 pm 02:22 PM
php

この記事では主に PHP での 2 ページめくり表示関数の実装について紹介します。興味のある方はぜひ参考にしてください。

php+mysql を使用して Web ページ上のすべてのデータベース情報を表示するのは非常に簡単で興味深いことは誰もが知っていますが、データベース情報が非常に少ない場合は、ページ表示はまだ満足のいくものですが、データベースが大量にある場合は問題ありません。表示状況が非常に悪くなります。 現在のページの表示データ量を実現する方法と、動的反転機能を実現する方法を紹介します。
ここでは、 2 つのページめくり表示関数の実装を紹介します:
まず、ページめくりで使用されるデータベース構文を紹介します:

mysql_query("select * from table order by id desc");
ログイン後にコピー

このデータベース ステートメントは、レコードを検索して逆順に表示するために使用されます。 . が出てきますが、ページめくり機能では機能しません。次の拡張構文がページめくりのコア機能です:

mysql_query("select * from table order by id desc limit $start,$limit");
ログイン後にコピー

$start ここがデータベース検索の開始行、$limit が検索の開始行です。行から始まり $limit レコードで終わります。このコア関数を配置したら、ページめくり関数を開始できます。

最初のページめくり機能: ここで紹介する機能は、ページめくり機能の中で最も単純な、ページ送りとページ戻しのみを実現できる機能です。
まず、ページめくり機能を実装する のアイデアを紹介します。

  • まず、現在のページに固定的に表示されるデータ レコードの数を決定します (20 レコードであると仮定し、$limit の値を 20 に設定します)。 : $limit=20;

  • データベースレコードを表示するときは、最初のレコードから開始する必要があるため、ここでは $start の初期値を 0 に設定します。 $start=0;

  • ページの実装回転関数は、$start の動的変更に依存します。ページをめくるとき、$start は定期的に $limit を追加します。

    上記のアイデアを持ったら、プログラムの設計を開始できます

page.php:

<? 
//设置当前页显示的数量(这个数量可任意设置) 
$limit=20; 
//初始化数据库搜索起始记录 
if (!emptyempty($start)) $start=0; 
mysql_connect("localhost","",""); 
mysql_select_db(database); 
//设置数据库记录总数 
$result=mysql_query("select * from table"); 
$num_max=mysql_numrows($result); 
$result=mysql_query("select * from table order by id desc limit $start,$limit); 
$num=mysql_numrows($result); 
echo "<table><tr><td>翻页功能</td></tr>"; 
if (!emptyempty($num)) { 
for ($i=0;$i<$num;$i++) { 
$val=mysql_result($result,$i,"val"); 
$val1=mysql_result($result,$i,"val1"); 
echo "<tr><td>$val</td><td>$val1</td></tr>"; 
} 
} 
echo "<tr><td>"; 
//设置向前翻页的跳转 
$prve=$start-$limit; 
if ($prve>=0) { 
echo "<a href=page.php?start=$prve>prve</a>"; 
} 
//设置向后翻页的跳转 
$next=$start+$limit; 
if ($next<$num_max) { 
echo "<a href=page.php?start=$next>next</a>"; 
} 
echo "</td></tr></table>"; 
?>
ログイン後にコピー

前後反転機能を備えたプログラムが完成しましたが、表示するデータが増えるとこの機能は非常に面倒になります。引き続き以下で紹介していきます より強力で複雑なページめくり関数 - ループページめくり (より適切な名前が見つからないので、私はいつもこれと呼んでいます)。:) シンプルなページめくり関数の実装が紹介されました。前に紹介したページめくり機能は、より強力で複雑です。このサイトの特別なフォーラムと特別な記事は、このループ ページめくり機能を使用します。ループ ページめくりは、プラスの数字を前後に回すことで実現されます。具体的な表現は次のとおりです:

ページ: prve <<1 2 3 4 ....... 20 >> next


中の数字は現在の各ページを表します。現在のページの場合 前後を反転しますが、より複雑なデジタル制御で前後を反転します。 ここで学習する方法やアイデアの一部は比較的抽象的である可能性があるため、いつものように、プログラミングに進む前に、まずアイデアを明確にしてください。 まず、データベースに 1,000 件を超えるレコードがあると仮定します。現在 25 件のレコードを表示したいと考えており、数値反転コントロールは 20 であるため、次のような表示結果が得られます。

ページ: 0 1 2 3... ...... 19 >> 次へ



反転後の表示結果: ページ: prve <<20 27 28 ...... 49 >> ; 次に
さて、固定表示数は 25 で、固定数は 20 倍を制御します。これら 2 つの数値を使用してページめくり関数を実装できます。まず、固定表示変数を設定します。 :
$ limit=20;データベース初期変数設定:$start=0;
データベースレコードの総数:

$num;

ページ番号変数:$page;
ページを表示するプログラム数値ループは次のとおりです:

<? 
... 
$result=mysql_query("select * from table"); 
$num=mysql_numrows($result); 
for ($page=0;$page<($num/$limit);$page++) { 
echo $page; 

if ($page>0 && ($page%20)==0) { 
break; //退出循环 
} 
} 
?>
ログイン後にコピー

数値の表示を除いて、このコードは他の関数を実装していません。反転を制御するにはさらに多くの数値があるため、これらの制御量をマークおよび識別するにはいくつかの変数を使用する必要があります。この変数は、デジタル サイクル ページめくりを制御するために使用されます。サイクル ページめくりを実装する完全なコード page.php を確認できます:

<? 
$limit=25; 
if (!emptyempty($start)) $start=0; 
if (!emptyempty($s)) $s=0; 
mysql_connect("localhost","",""); 
mysql_select_db(database); 
//统计数据库记录总数 
$result=mysql_query("select * from table"); 
$num=mysql_numrows($result); 
$result=mysql_query("select * from table order by id limit $start,$limit"); 
$numb=mysql_numrows($result); 
echo "<table>"; 
if (!emptyempty($numb)) { 
for($i=0;$i<$numb;$i++) { 
$val=mysql_result($result,$i,"val"); 
$val1=mysql_result($result,$i,"val1"); 
echo "<tr><td>$val</td><td>$val1</td></tr>"; 
} 
} 
echo "</table>"; 
//数字循环翻页的控制 
echo "<table>"; 
echo "<tr><td>页:</td>"; 
//前翻控制 
if ($s>20) { 
if ($s==21) { 
$st=$s-21; 
} else { 
$st=$s-20; 
} 
$pstart=$st*$limit; 
echo "<td><a href=page.php?"; 
echo "start=$pstart&s=$st>prve</a></td>"; 
} 
echo "<td> >></td>"; 
//设置当前页对应页数无链接功能 
$star=$start; 
//注意循环的初始附值,仔细想想为什么不是 0 
for ($page=$s;$page<($num/$limit);$page++) { 
$start=$page*$limit; 
echo "<td>"; 
if($page!=$star/$limit) { 
echo "<a href=page.php?"; 
echo "start=$start&s=$s>"; 
} 
echo $page; 
if($page!=$star/$limit) { 
echo "</a>"; 
} 
echo "</td>"; 
//控制数字页面限制显示功能,控制只显示 20 页 
if ($page>0 && ($page%20)==0) { 
if ($s==0) { 
$s=$s+21; 
} else { 
$s=$s+20; 
} 
$start=$start+$limit; 
if ((($num/$limit)-1)>$page) { 
echo "<td> <<</td><td><a href&#39;page.php?"; 
echo "start=$start&s=$s>next</a></td>"; 
} 
//注意跳出循环的控制 
break; 
} 
} 
echo "</tr></table>"; 
?>
ログイン後にコピー

ページめくりを送信するページめくり関数もあります。つまり、送信フォームにデータ送信を追加すると、プログラムが対応するページに移動します。この機能は実装が比較的簡単で、完了は読者に任されています。

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHP で階層ツリー展開を再帰的に実装する方法

PHP 配列関数 array_multisort() の使用例と分析例

PHP 関数 import_request_variables() の使用例と分析例

以上がPHPでの2ページめくり表示関数の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles