• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flush()関数でページを徐々に表示する方法)

flush()関数でページを徐々に表示する方法

このQ&Aのポイント
  • PHPスクリプトを処理する際、全て処理し終わった後、いっきにページに表示されるのが普通だと思うのですが、これを段階的に表示したいのです。
  • 出力バッファをオフにし、flush()関数を使用することで、ページを徐々に表示することができます。
  • 具体的には、以下のようなコードでflush()関数を使用することができます。 <?php ob_start(); // 処理 ob_end_flush(); ?>

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

print("第1位:".$Count[0]." ".$Name[0]."<br>"); for($i=1;$i<count($Name);$i++){ if($Count[$i] != $Count[$i-1]){ print("第".($i+1)."位:".$Count[$i]." "); } print($Name[$i]."<br>"); ob_flush(); flush(); }

php1234
質問者

お礼

質問をほったらかしにしてしまい申し訳ございません。ありがとうございました。また何かございましたら宜しくお願い致します。

php1234
質問者

補足

ご返信ありがとうございます。 print 以降の部分にテーブルを使っている場合、例えば、以下のような場合ではいかがでしょうか? <?php $Name=array("Aさん","Bさん","Cさん","Dさん","Eさん","Fさん"・・・この後1000件続く); $Count=array(123,198,123,117,123,202・・・この後1000件続く); array_multisort($Count,SORT_DESC,SORT_NUMERIC,$Name,SORT_DESC,SORT_STRING); $rank=1; for($i=0;$i<count($Name);$i++){ print("<table border='0' cellspacing='1' cellpadding='0' width='270' bgcolor='#999999'><tr bgcolor='#FFFFFF'><td id='key1' width='40'>第".$rank."位</td><td id='key1'>".$Name[$i]."</td><td id='key1' width='30'>".$Count[$i]."</td></tr></table>"); if($Count[$i] != $Count[$i+1]){ $rank=$i+2; } } ?> 以上のスクリプト文の場合も、ob_flush(); と flush(); を同じところに入れればOKでしょうか?一度試してみたのですが、徐々に(段階的に)表示されず、何秒後かに一挙に表示されてしまします。お手数お掛けしますがよろしくお願い致します。

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

table-layout:fixed;

参考URL:
http://www.tagindex.com/stylesheet/table/table_layout.html
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

TABLEタグは最後まで出力しないとブラウザが表示しないので TABLEタグをやめるか、CSSで段階的に表示する設定ができたと思います。

関連するQ&A

専門家に質問してみよう