ラウンジ(兼FAQ掲示板)

あんQのアンケート項目のソートについて
過去ログ NO.1082204682
□ まちゃのり [2004年04月16日19時36分]
はじめまして2ヶ月ほど前から使用させていただいております。

少し質問なのですが現在のアンケート項目では

アンケートテーマ  開始日 終了日
****************  3/21  4/4
****************  3/20  終了
****************  3/19  3/29

となると思うのですがこれを

アンケートテーマ  開始日 終了日
****************  3/19  3/29
****************  3/21  4/4  
****************  3/20  終了

と言う風に終了した物は下へ終了日が近い物を上に
と言う順番でソートさせることは可能でしょうか?
(恐らく開始日でソートするのではなく終了日でソートさせればいいというのは分かるのですが・・・)
アンケート項目が増加すればするほど終了した物
終了日が近い物/遠い物とアンケート取りたいが見られなくなる
といった困った現象(まぁ、消せば良いんですが残しておきたいので)
になり、困っております。よろしくお願い致します。

いまのところ過去ログにありました
foreach (sort {$b <=> $a} @dir) {
if ($_ ne "\." && $_ ne "\.\.") { push (@sortdir,$_); }
}にて対応はしております。

すみません、何度も投稿をしてしまいました。
投稿を押すと管理者以外〜〜と出てしまったので
投稿されていない物だと・・・
ご迷惑をおかけいたしました。
□ NXer [2004年04月17日21時24分]
はじめまして。NXerです。

>終了日でソート

以下のスクリプトをお試しください。下手な説明ですが付記します。
-----------------------------行番号はその付近です。158、175は既存
158 else { print "<table class=plain>\n<tr><th class=plain>アンケートテーマ</th><th class=plain>開始日</th><th class=plain>終了日</th></tr>\n"; }
# ●newly inserted lines to sort files in the limit-date order新規挿入スクリプト
161 foreach (@dir) {
if (open(FILE,"$tmp$_")) {
@lines = <FILE>;
close (FILE);
$subject = shift (@lines);
($subject,$lastmod,$pass,$limit,$ent_mode,$repost_mode,$name,$mail,$url,) = split(/\,/,$subject);
$key{$_} = $limit; #●setting sortkey
}
}
171 @sortdir=();     #●initialization of sortdir array
# ● sorting by limit-key
foreach (sort { $key{$a} <=> $key{$b} } keys %key) { unshift (@sortdir,$_); }

175 foreach (@sortdir) {  #既存スクリプト
------コピーペースト可、行番号削除要 インデントは崩れるかも知れません

表1 テーマ表示例
------------------------------------
アンケートテーマ 開始日 終了日
□好きな月 2004年04月16日 2004年09月16日
□tree 2004年04月01日   2004年07月17日
□名前 2004年03月23日   2004年04月20日
□春の旅先 2004年03月27日 2004年04月19日
□大陸 2004年03月29日   終了
□花1 2004年03月24日    無期限
□曜日 2004年03月28日   無期限
---------------------------------------

==スクリプトの簡単な説明==

161 foreach (@dir) {
から
>終了日でソート
のためにkeyをlimit変数に設定します。

171 @sortdir=(); #●initialization of sortdir array
sortdirの配列を初期化します。忘れるとデータが追加されて2倍になります。

その後、このキー順に並べ替えをします。終了日順のデータを画面に表示します。

愚案をお試しいただき、万一不具合が発生した場合は当方の考えが
至らないところを、ご指摘ください。

そちらでも当方と同じ結果となり、「あんQ」ご使用の目的が達成できる
ことをこころからお祈りします。

==p.s.改善点==
>アンケート項目が増加すれば、、、アンケート取りたいが見られなくなる
より使いやすくしかも、客観性と信頼性をそなえるウェブサイト上のアン
ケートは今後ますます必要になると考えています。
すえぽんさんの電光!サポートサイトhomepage by xxx(ラウンジの匿名性
保持のため一部変更)に「あんQ」の改善案や、アンケートについての考察
が掲載されていますのでお知らせします。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.