• 締切済み

CSV読み込みの数制限

CSVを読み込み表示について質問です。 CSVのデータは全部で35件あり読み込む順番に$hyoujijyunの配列に 値をいれています。 やりたいことは1ページ目(view.php?page=1)に配列の先頭から18個の データを表示させそれ以降は2ページ目(view.php?page=2)へ表示させ それぞれのページに次のページへ飛ぶリンクと前へ戻るリンクを表示 したいと思っているのですがこの場合どのようにすればいいの でしょうか? for文を使えばいいのかな?と思い考えてみたのですが応用の方法が わからずです^^; 現状は以下のソースです。hyoujijyunの値が全て表示されています。 if (! $fp = @fopen("data.csv" ,"r")) { print "ファイルを開けません!"; exit(); } while (($filedata= fgetcsv($fp, 10000, ",")) !== FALSE) { $datas[]= $filedata; } fclose($fp); $hyoujijun = array (2, 10, 18, 27, 21, 28, 23, 20, 13, 1, 7, 14, 12, 5, 11, 35, 29);// 並びに規則性はなく実際には35個の値が入る foreach($hyoujijun as $row) { echo "<tr>\n"; echo "<td>{$datas[$row][0]}</td>\n"; echo "<td>{$datas[$row][3]}</td>\n"; echo "<td class=\"{$datas[$row][2]}\">{$datas[$row][3]}</td>\n"; echo "<td>{$datas[$row][4]}</td>\n"; echo "<td>{$datas[$row][5]}</td>\n"; echo "<td>{$datas[$row][6]}</td>\n"; echo "<td>{$datas[$row][7]}</td>\n"; echo "<td>{$datas[$row][8]}</td>\n"; echo "<td>{$datas[$row][9]}</td>\n"; echo "<td colspan=\"3\">{$datas[$row][10]}</td>\n"; echo "</tr>\n"; }

みんなの回答

  • azusa3go
  • ベストアンサー率0% (0/0)
回答No.1

かなり端折りますが まずページ数をGETで引っ張って それに表示件数をかける(1なら0にするとラク) でforに入れる for($i=$kensu;・・・ そしたら 1ページ目は$i=0;… 2ページ目は$i=18;… になるから次のデータを読める、と。 リンクに関しては countかなんかでデータの数数えて残りがあれば次へのリンクを 2ページ目以降なら戻るリンクを表示する。 これでどうでしょうか?

noname#65793
質問者

補足

お返事ありがとうございます。 例えば $kensuu = $_GET['kensuu']; for($i=$kensuu; $i<=10; $i++) { } とした場合$kensuuが0で想定すると10まで1つずつ増えていくので $hyoujijyunの配列の順番が無視されてしまうのではないでしょうか? 使い方の勘違いであればすみません^^; $hyoujijyunの配列の並びには常に規則性がないのでこの方法で実現 するためにはどのようなソースになるのでしょうか? $hyoujijyunの配列の先頭から1ページ目は18個取り出し2ページ目には それ以降の18個(実際に表示されるのは17個ですが)を取り出したい のですが初心者なもので応用の方法がよくわからずで具体的なソースを 教えて頂けますと幸いです。 宜しくお願い致します。

関連するQ&A