
データ検索などの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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
excel access連携 このテーブル...
-
EXCEL VBAでのCSV出力について
-
エクセルVBAで楽天証券に注...
-
エクセルで、2つのセルに検索値...
-
Windowsのマクロプログラムで、...
-
Excel VBA:特定の文字列以降(...
-
Access グループごとのページ...
-
ミュージックのアートワークを...
-
小数点以下0の非表示
-
Yahoo! JAPAN IDを新規取得でき...
-
PHPでの画像の形式の変換
-
PHPで値を保持する方法
-
bashの関数の引数にスペースが...
-
(Win32)ファイルパスから物理ド...
-
アクセスの度にIPアドレスを変...
-
PHP ハイパーリンク
-
PHP declare文について、ticks...
-
IFRAME内PHPのセッション変数取...
-
PHPで返信メールにチェックボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#】DataGridViewの最大列数...
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
C#でのForm間のデータ受け渡し...
-
★お手上げ状態です。助けてくだ...
-
IDに欠番があった場合のupdate処理
-
携帯の対応について質問!!
-
VBA内でのGetPixelを使用した時...
-
htmlやCGIでのデータの送信につ...
-
JavaからPHPへの値の受け渡し
-
Amazon APIについて
-
ASPでの検索画面の作り方について
-
INIファイルに一括書き込みを行...
-
「外部データの取り込み」とい...
-
VB6.0とスプレッドシート
-
blog トラックバック機能
-
TCPでデータを受け取ってそれを...
-
Windowsのマクロプログラムで、...
おすすめ情報
はい、tableではなくリストタグでくくっています
DIVでも可能です。
AJAXでロードというと
http://webdrawer.net/javascript/loadajax.html
このサイトで書かれている様なものでしょうか
PHPで一時的に表示させる為、htmlを出力保存はしないのですが
PHPにてその時に応じた表示させたい長いHTMLをechoで表示させています。
この時点でHTMLの内容がどうであれ全体ロードが開始され大量の場合は時間がかかるので無理なのでしょうか
またはその長いHTMLのロードを一部分までに止める事ができ、順々にAJAXなどでロード表示させる事が可能なのでしょうか