質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

4357閲覧

【JQUERY】と【PHP】ページネーション「軽い」のはどちら?【数万件のレコードのテーブル】

shimane

総合スコア98

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/07/30 12:46

現在、プログラムを勉強中の初心者です。

ローカル開発環境にて勉強目的でmysqlにデータを保存して
htmlにてmysqlのデータを呼び出して表示するというサイトを作成しています。

そこで今回、呼び出したデータをテーブルにして表示する際に
「ページネーション」を設置する事にしました。

ネットで色々と調べていると
jqueryを使用したものだと設置が簡単という事もあり
Bootstrap Data Tableを利用する事にしました。

簡単に設置できると説明があった通りに
何も問題なく設置する事が出来たのですが・・・。

IEで表示してみると「遅い・重い」のです。

開発環境のchromeだと普通の速度で表示されていたのですっかり油断してしまいました。

現在表示しているのが「3000件のレコード」を8種類の条件で表示したテーブルをindex.phpにて
8個表示して、それぞれに「ページネーション」を設置しています。

この状態でこれだけ遅いとなると
今後、数万件のレコードとなってきた時に動作の重さが尋常ではなくなってしまうのでは?と不安に思います。

そこで今回お聞きしたいのは
jqueryでページネーションを設置するのと
phpでページネーションを作成していくのは「どちらが軽い」のかという事を教えて頂きたいです。

私が普段利用させて頂いている情報系サイトだと記事の数が普通に数万、数十万とあるのに
表示が軽かったりするので
phpを利用したページネーションだとjqueryに比べて動作が速いのでは?と考えて質問しました。

今の段階では
phpでページネーションを設置するだけの技術力が無いので
phpの方が軽いという事でしたら
作り方からネットで調べて実装できるように勉強をしていきたいと思います。

jqueryの方がphpよりも軽かったり、
動作が基本的に大差ないという事でしたら
もっと軽いプラグインやライブラリを調べてみようと思います。

初心者なので基本的な質問となってしまいましたが、
今後の勉強の方針を決める参考にさせて頂けたらと思いますので
教えて頂けると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jQuery によるページネーションは、全データを持ってきてからクライアント側でページネーションします。
一方、PHP などのサーバサイドでページネーションする場合、クライアントには実際に表示するためのデータしか渡されません。それどころかサーバサイドで LIMIT や OFFSET を使い、DB から取得するデータそのものも最小限に抑えられるのがほとんどです。

つまり、ハナからデータ量が桁違いなのですから、この場合 jQuery に勝ち目はないのです。
※jQuery でも、ajax で取得するデータそのものを最小限にできるならそれほど違いは無くなりますが

PHP を素で使うとページネーションは面倒に思えますが、CakePHP などのフレームワークを使えばページネーションはほぼ標準で装備されている機能ですから、導入も簡単だと思います。またフレームワークを導入できないにしても、DB から取得するデータそのものをきちんと最小限に抑えるようにすればよいので、決して難しくはありません。

投稿2017/07/30 13:00

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shimane

2017/07/30 13:21

回答有難うございます。 とても説得力のある解説で 何故PHPの方が軽く、jqueryの方が重いのかという説明をして頂いたおかげで 詳しく理解する事が出来ました。 また、PHPの方が軽量できるという事も教えて頂きまして有難うございます。 教えて頂いたCakePHPのフレームワークはまだ学習出来ていませんが、 目標を設定する事が出来たのは大きな前進だと思います。 PHPを使ったページネーションの勉強、頑張ってみます。 本当に有難うございました! 大感謝です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問