<% my $dbi = $nvar{dbi}; %>
<% if($var{total} == 0) { %>

該当するデータが見つかりませんでした。

<% last; } if($var{html} ne 'list') { %>

該当するデータが <% print $var{total} %> 件見つかりました。

<% } %>

<% print ($var{html} eq 'list' ? '一覧表示' : '検索結果') %>

<% my $pagewid = 9; my $pagemin = ($var{page} - $pagewid > 0) ? $var{page} - $pagewid : 1; my $pagemax = ($var{page} + $pagewid < $var{numpage}) ? $var{page} + $pagewid : $var{numpage}; my $searchuri = "$nvar{sys}{base}/search.cgi?" . "srcsid=$var{srcsid}&searchnum=$var{searchnum}"; %>
ページ : <% print "..." if($pagemin > 1); foreach my $i ($pagemin .. $pagemax) { print (($i == $var{page}) ? "$i" : "$i"); } print "..." if($pagemax < $var{numpage}); %> ( 全 <% print $var{numpage} %> ページ )
表示件数を に変更して
<% my $nummin = ($var{page} - 1) * $var{searchnum} + 1; my $nummax = $var{page} == $var{numpage} ? $var{total} : $var{page} * $var{searchnum}; my $ordlist = [ 'system_did,system_rid', 'family_name,first_name', 'sex', 'birth' ]; my ($ordnum, $reverse) = $dbi->cmp_order($var{order}, @$ordlist); %> <% my ($DID, $RID, $STATE, $FAMNAME, $FIRNAME, $SEX, $BIRTH) = (0 .. 6); my $state = $dbi->{misc}{sysprint_state}; my $active = $dbi->{db}{sysstate}{active}; my $sex; foreach my $data (@{ $var{list} }) { $sex = $dbi->{code}{sex}{ $data->[$SEX] }; %> HTML %> <% } %>
<% print "$var{total} 件中 $nummin - $nummax 件目" %>
<% &print_title('DID', $ordlist, $ordnum, 0, $reverse) %> <% &print_title('氏名', $ordlist, $ordnum, 1, $reverse) %> <% &print_title('性別', $ordlist, $ordnum, 2, $reverse) %> <% &print_title('生年月日', $ordlist, $ordnum, 3, $reverse) %>
<% print "[$RID]\">[$data->[$DID]]"; if($data->[$STATE] ne $active) { %> ( <% print $state->[ $data->[$STATE] ] %> )<% } print <$data->[$FAMNAME] $data->[$FIRNAME] $sex $data->[$BIRTH]

ファイル書き出し

形式 : CSV形式 タブ区切り形式
改行コード : Windows (CR+LF) Macintosh (CR)
<% sub print_title { my ($name, $ordlist, $ord, $ord2, $reverse) = @_; my $searchuri = "$nvar{sys}{base}/search.cgi?srcsid=$var{srcsid}" . "&searchnum=$var{searchnum}&page=$var{page}"; my $match; my $order = $ordlist->[$ord2]; if($ord eq $ord2 and defined($ord)) { $match = $reverse ? ' ▽' : ' △'; $order =~ s{([a-z_]+)(?:| +asc| +(desc)) *(?:(,) *|$)}{ $1 . ($2 ? '' : ' desc') . $3 }egi unless($reverse); } $order =~ s/(,)/'%'.unpack('H2', $1) /eg; print "$name$match"; } %>