• ベストアンサー

PHPで配列に格納されたデータを表示させるには。

PHPで配列に格納されたデータを表示させるには。 全ての配列の要素を表示させることは下のようにすればできるのはわかります。 <?php for($i=0;$i<sizeof($data);$i++){ echo $data[$i]; echo "<br>"; } ?> 配列の0~9まで(10個)をまず表示させて、「次へ」のようなリンクで次の10~19までを表示させるようにしたいのですが、どのようにすればよいのでしょうか。

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

多分、データの有無でリンクを自動生成されたいのでしょう。 データの「何番目から何個表示するか」を決定し、もっとデータがあればリンクを生成してやるとよいです。 --------------------------------------- //仮data生成しているだけ $data = range(0,50); //開始No。$_GET['start']が数字ならその値を、不正なら0を代入 $start = (ctype_digit($_GET['start']) ? $_GET['start']:0); //1ページの表示件数 $kensuu = 10; //表示例。$dataから必要分を切り出して回す。 //もちろんお好み次第でforでもなんでも。 foreach( array_slice($data,$start,$kensuu) as $val){ echo "$val <br>"; } //次のデータがあれば start番号付きのリンクを生成 $next = $start + $kensuu; if($data[$next]){ echo "<a href='○○.php?start=$next'>次へ</a>"; } ------------------------------------------

e_honda
質問者

お礼

丁寧に教えていただき、ありがとうございました。

その他の回答 (1)

  • mokokomi
  • ベストアンサー率71% (5/7)
回答No.1

<!-- ここから --> <?php $offset = 10; $data = array( 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 ); if( isset($_GET['i'])){ $i = $_GET['i'] * $offset; $max = $i + $offset; for(;$i<$max;$i++){ if(isset($data[$i])){ echo $data[$i]; } else{ echo "未定義"; } echo "<br>"; } } ?> <a href="/index.php?i=0">リンク0</a> <a href="/index.php?i=1">リンク1</a> <!-- ここまでをコピペして index.php として保存して ウェブサーバーに設置してブラウザで実行する. -->

e_honda
質問者

お礼

ありがとうございました。

関連するQ&A