• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ページ送り)

PHPのページ送りについて教えてください

このQ&Aのポイント
  • PHPのページ送りについて教えてください。携帯版(top_i.php)ですと画像が多くて要領不足になってしまうので、ページ送りをしたいと思い勉強してました。
  • smartyとの組み合わせがまったく判りません。
  • 1ページに3件つづ表示させたいのですが、下記のサイトを見つけたのですが、さっぱり動きません。

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

ざっくりと {%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>

Deslio
質問者

お礼

回答ありがとうございます。無事動きました。 ホントに感謝しています。感激です!! GW中、ネットと本屋で調べて判らず、駄目もとでここに 投稿しました。 そしたらなんとコードまで記載して下さって感謝しております。 疑問なのですが、このコードのどこでCSVファイルの総数をしらべているのですか? もしよろしければ、ご教授お願いします。

その他の回答 (1)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

中のソースは見てないのでCSVかどうかも知らないですが.. {section name=what loop=$what max=$max_what} $whatを展開してたのでcount($what)で総数を取っています。 $max_whatでいいかもしれません。 currentPate, perPage, maxPage(or総数)が取れていれば PEAR::Pagerとかでもっとちゃんとしたページングも作れます。 //しかし {% って見難いですね。。

Deslio
質問者

お礼

さっそくの返事ありがとうございます。 今度Pagerにも挑戦したと思います。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう