- ベストアンサー
PHPのページ送りについて教えてください
- PHPのページ送りについて教えてください。携帯版(top_i.php)ですと画像が多くて要領不足になってしまうので、ページ送りをしたいと思い勉強してました。
- smartyとの組み合わせがまったく判りません。
- 1ページに3件つづ表示させたいのですが、下記のサイトを見つけたのですが、さっぱり動きません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ざっくりと {%php%}//ループの前に記述 $limit = 3;// per page $page = empty($_GET['page']) ? 1 : $_GET['page']; $list = $this->_tpl_vars['what']; $max_page = ceil(count($list) / $limit); $list = array_slice($list, ($page-1)*$limit, $page*$limit); $pagination = array('prev' => '', 'next' => ''); if ($page > 1) { $pagination['prev'] = '<a href="?page=' . ($page - 1) . '">前へ</a>'; } if ($page < $max_page) { $pagination['next'] = '<a href="?page=' . ($page + 1) . '">次へ</a>'; } $this->assign('what', $list); $this->assign('pagination', $pagination); {%/php%} <div class="pagination">{%$pagination.prev%} {%$pagination.next%}</div>
その他の回答 (1)
- tany180sx
- ベストアンサー率63% (239/379)
中のソースは見てないのでCSVかどうかも知らないですが.. {section name=what loop=$what max=$max_what} $whatを展開してたのでcount($what)で総数を取っています。 $max_whatでいいかもしれません。 currentPate, perPage, maxPage(or総数)が取れていれば PEAR::Pagerとかでもっとちゃんとしたページングも作れます。 //しかし {% って見難いですね。。
お礼
さっそくの返事ありがとうございます。 今度Pagerにも挑戦したと思います。 本当にありがとうございました。
お礼
回答ありがとうございます。無事動きました。 ホントに感謝しています。感激です!! GW中、ネットと本屋で調べて判らず、駄目もとでここに 投稿しました。 そしたらなんとコードまで記載して下さって感謝しております。 疑問なのですが、このコードのどこでCSVファイルの総数をしらべているのですか? もしよろしければ、ご教授お願いします。