CSVデータを使ったページングとソート
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);
?>
と、言うようなソースです。
こんなやり方でいいのかも不明ですがこの中にページングとソートの機能を追加したいと思っています。
補足
お返事ありがとうございます。サーバー側ではページングには対応しているのですが、このajaxパーツではサーバー側でプログラムを動作させて、その結果をテンプレートに沿って出力されているみたいなんですが、テンプレートを解釈してページを出力させるものに「smarty」を利用しています。カスタマイズはテンプレートで表示形式を変えられると書いてあるのですが、ページングさせるにはPHP側も書き換えなければいけないのでしょうか。テンプレート側のソースはこのようになっています。 {show_bom} {if $total_count > 0} <div style="text-align : center;"> <table cellpadding="0" cellspacing="0" border="0" style="width : 450px; margin-left : auto; margin-right : auto; overflow : hidden; table-layout : fixed;"> {items columns=3} {if $is_row_header}<tr style="margin : 0; padding : 0; border : none;">{/if} <td style="width : 150px; vertical-align : top; margin : 0; padding : 0; border : none;"> <div style="padding : 0 5px 10px 5px; margin : 0; text-align : center; overflow : hidden;"> {if $is_null_cell} {else} <a href="{$affiliate_link}" target="_blank"><img src="{$medium_image_url}" alt="{$title|mb_truncate:100:" ..."}" style="border : 1px solid #999999;" /></a><br /> <a href="{$affiliate_link}" target="_blank">{$title|mb_truncate:100:" ..."}</a><br /> {$price|number_format}円<br /> (<a href="{$shop_affiliate_link}" target="_blank">{$shop_name|mb_truncate:100:" ..."}</a>) {/if} </div> </td> {if $is_row_footer}</tr>{/if} {/items} </table> </div> {else}{* if $total_count > 0 の条件を満たさない場合 *} <p>検索条件に合う商品はありません。</p> {/if}{* if $total_count > 0 *}