電子書籍の厳選無料作品が豊富!

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

全ての配列の要素を表示させることは下のようにすればできるのはわかります。
<?php
for($i=0;$i<sizeof($data);$i++){
echo $data[$i];
echo "<br>";
}
?>


配列の0~9まで(10個)をまず表示させて、「次へ」のようなリンクで次の10~19までを表示させるようにしたいのですが、どのようにすればよいのでしょうか。

A 回答 (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>";
}
------------------------------------------
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/10/13 20:58

<!-- ここから -->



<?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 として保存して ウェブサーバーに設置してブラウザで実行する. -->
「PHPで配列に格納されたデータを表示させ」の回答画像1
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/10/13 20:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!