「Data::Pageset」の版間の差分

提供: dsk's note
移動: 案内検索
1行目: 1行目:
 +
{{google/ad/01}}
 +
 
@hogeには、なんらかのデータが入っているという前提で...
 
@hogeには、なんらかのデータが入っているという前提で...
  
47行目: 49行目:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
[[Category: perl]]
 +
 +
{{google/ad/01}}

2015年6月7日 (日) 03:15時点における版

@hogeには、なんらかのデータが入っているという前提で...

use CGI;
use Data::Pageset;
my $page = $obj->param('p');
$page ||= "1";
 
my @hoge;
 
my $total_entries=@hoge;
my $current_page=$page;
my $entries_per_page =15;
my $pages_per_set = 10;
 
my $page_info = Data::Pageset->new({
#全ての要素数
  'total_entries'    => $total_entries,
#1ページあたりの表示数
  'entries_per_page' => $entries_per_page,
#現在のページ
  'current_page'     => $current_page,
#1ページあたりのページング数
  'pages_per_set'    => $pages_per_set,
#ページングを表示ページ幅を固定するかスライドするか slide or fixed
  'mode'             => 'slide',
});
 
#前へ
if ($page_info->previous_page) {
  print "<a href='?p=" . $page_info->previous_page . "'>&lt;&lt;&nbsp;前へ</a>\n";
}
 
#ページ別リンク
foreach my $page (@{$page_info->pages_in_set()}) {
  if($page == $page_info->current_page()) {
    print "&nbsp;<strong>$page</strong>\n&nbsp;";
  } else {
    print "&nbsp;<a href='?p=" . $page . "'>$page</a>\n&nbsp;";
  }
}
 
#次へ
if ($page_info->next_page) {
  print "<a href='?p=" . $page_info->next_page . "'>次へ&nbsp;&gt;&gt;</a>\n";
}