データ検索などのPHPで結果が数千件あり、PHPで一覧を表示する際(表示上はHTML)
そのままだとページが長すぎて完全ロードするまで正常動作せず、非常に重くなり固まります
通常だとページを分けて表示させ、次ページボタンなどで遷移させると思いのですが
よくある無限スクロールの様に、長くてもローディングして順々に表示させるような方法はないでしょうか
実際の無限スクロールなどは複数ページを繋げているようなので
PHPのその場で一時的に表示させる1枚の長いページでではできないように思えます。
順々にローディングして固まらないよう表示させる
何か良い方法はないものでしょうか
No.3ベストアンサー
- 回答日時:
長すぎるデータは必要なデータへのアクセス性もわるく、すべきではありません。
ページングしてください
または全データ一括で出力したいのであれば、csvやexcelのデータにして
ダウンロードさせるのが賢明でしょう
一応、httpやブラウザの特性を生かせば途中段階のデータも順次出力することは可能です。
出力したいデータがループで処理しているなら、何行かに一度フラッシュする処理を
いれてやってください。
<?PHP
set_time_limit( 0 );
echo str_repeat(' ',1024);
for($i=0;$i<=9;$i++){
print $i;
@ob_flush();
@flush();
sleep( 1 );
}
このような処理の場合、window.onloadの処理などがうまく利かない可能性もあるので
運用のさいは注意してください
有難うございます
>ページングしてください
その方が良い気がしました。
>途中段階のデータも順次出力
順次出力参考になります。
こちらだとどの様な表示動作になるのか色々試してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHP ページング データベース 1 2022/06/16 10:30
- HTML・CSS リストの並べ替え 1 2022/09/13 15:27
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- WordPress(ワードプレス) ワードプレス。複数の投稿ページを、複数の固定ページに区別して、表示させる方法は 1 2023/03/04 19:54
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- SEO 検索エンジンにインデックスされない 3 2023/02/20 08:59
- 教えて!goo 「このページは一部表示を制限しております。」と表示されるページ。 1 2022/07/19 20:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#】DataGridViewの最大列数...
-
WordでExcelデータを差込...
-
DTOとEntityの差は何ですか。
-
excel access連携 このテーブル...
-
TCPDFでのHTML出力
-
rsyncでのエラー(sh: rsync: no...
-
ページ切り替え機能
-
htmlについて.sqlの表示
-
エクセルVBAで楽天証券に注...
-
WEBページの保存
-
回線速度が64kbpsだったら、64k...
-
長い1枚ページを無限スクロール...
-
ASPからExcelのデータを読む方法
-
VBA内でのGetPixelを使用した時...
-
「外部データの取り込み」とい...
-
エクセル オートフィルタ プ...
-
ActiveReportのサブレポート機...
-
小数点以下を含む計算でバグが...
-
C言語で地図を描きたい
-
Excelピポットテーブルでの表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
ActiveReportのサブレポート機...
-
GridViewからチェックボックス...
-
★お手上げ状態です。助けてくだ...
-
VBA内でのGetPixelを使用した時...
-
表を表示するコントロールについて
-
Windowsのマクロプログラムで、...
-
INIファイルに一括書き込みを行...
-
MSFlexGridのデータを初期化し...
-
C#でのForm間のデータ受け渡し...
-
「外部データの取り込み」とい...
-
C言語で地図を描きたい
-
小数点以下を含む計算でバグが...
-
エクセルVBAで楽天証券に注...
-
CSVのインポート【ASP.NET】
-
画像の読み込み&白黒判別プロ...
おすすめ情報
はい、tableではなくリストタグでくくっています
DIVでも可能です。
AJAXでロードというと
http://webdrawer.net/javascript/loadajax.html
このサイトで書かれている様なものでしょうか
PHPで一時的に表示させる為、htmlを出力保存はしないのですが
PHPにてその時に応じた表示させたい長いHTMLをechoで表示させています。
この時点でHTMLの内容がどうであれ全体ロードが開始され大量の場合は時間がかかるので無理なのでしょうか
またはその長いHTMLのロードを一部分までに止める事ができ、順々にAJAXなどでロード表示させる事が可能なのでしょうか