プロが教える店舗&オフィスのセキュリティ対策術

phpをやり始めて3ヶ月くらいですが、高度な事がまだまだわかりません。どなたかお知恵を拝借願えないでしょうか?
fgetcsvを使って一覧表示をしidからそのデータの詳細をsyousai.phpへ送って表示するようにしています。
この一覧表示にページングとソート機能をつけたいのですが、どうやったらよいかわかりません。

<?
$fname = "list.csv";
$file = fopen($fname, "r");
while (list(
$data0, $data1, $data2, $data3, $data4)
= fgetcsv($file, 1000, ",")) {
?>
<table>
<tr>
<td>
<form action="syousai.php" method="get" name="code">
<a href="syousai.php?id=<? echo $data0;?>" name="id">詳細</a>
</form>
</td>
<td>番号:<? echo $data0;?></td>
<td>名前:<? echo $data1;?></td>
</tr>
</table>
<? } ?>
<?
fclose($file);
?>

と、言うようなソースです。
こんなやり方でいいのかも不明ですがこの中にページングとソートの機能を追加したいと思っています。

A 回答 (1件)

ロジックだけ。



1.CSVデータを2次元配列などに読み込む。
2.配列をsort系の関数でソートする。
3.配列を1ページの最大表示数だけ表示する。
4.ページングのナビゲータを表示する。

CSVファイルの「読込」と「表示」を別々に処理することが肝心。今みたいに同じルーチンの中に書いちゃうと、柔軟性が無くなっちゃうんじゃないでしょうか。
あと、ページングだけど、「abc.php?start=4&end=14」みたいに、アイテムの表示範囲をGET値で指定できるようにすれば楽かも。掲示板みたいに。
    • good
    • 0

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