記事No | : 5306 |
投稿日 | : 2009/01/17(Sat) 16:46:12 |
タイトル | : Message ENQ表示順について |
ID情報 | : Magnum |
投稿者 | : あん |
URL | : http://kiichi.magnum-opus-pro.com/msgenq/msgenq.cgi |
表題の件で、これから投票開始するにあたり、表示順位を固定したいのですが可能でしょうか?なぜこの様なバラバラの順位で表示されるのでしょうか?
ご回答宜しくお願い致します。いつもありがとうございます。
記事No | : 5307 |
投稿日 | : 2009/01/17(Sat) 21:26:59 |
タイトル | : Re: Message ENQ表示順について |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> 表題の件で、これから投票開始するにあたり、表示順位を固定したいのですが可能でしょうか?なぜこの様なバラバラの順位で表示されるのでしょうか?
> ご回答宜しくお願い致します。いつもありがとうございます。
項目を登録する段階で番号順に登録すれば数字の順番に並びます。
投票が行われると投票数順になりますので、順番を固定されたいのでしたら以下の修正を行ってください。
#-------------------------------------------------
# 初期画面
#-------------------------------------------------
-- 途中省略 --
<th class="l">番号</th><!-- ★修正 -->
<th class="l">項目</th>
<th class="l">得票数</th>
<th class="l">割合</th>
</tr>
EOM
# ソート処理
my $rank1 = 0;
my $rank2 = 1;
my $temp = 0;
my @no;
#foreach ( sort { ($cnt{$b} <=> $cnt{$a}) } keys(%cnt) ) { ## ★コメントアウト
foreach (keys(%cnt)){ ## ★追加
push(@no,$num{$_});
($cnt{$_} == $temp) || ($rank1 = $rank2);
# トップ順位表示
if ($topview && $in{'view'} ne "all" && $topview < $rank1) { next; }
my ($per,$width,$cnt);
if ($cnt{$_}) {
$per = int(($cnt{$_}*1000 / $total)+0.5) / 10;
$per = sprintf("%.1f", $per);
$width = int($per * 3);
if ($width < 1) { $width = 1; }
$cnt = &filler($cnt{$_});
} else {
$per = 0;
$width = 1;
$cnt = 0;
}
print qq|<tr><th class="r">$_</td>|; ## ★修正
print qq|<td class="r"><b>$itm{$_}</b></td>|;