質問掲示板

CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。

新規発言一覧最新記事過去一覧 | 検索HOME
No.290  Re[5]:便乗質問です。日記でできません。
発言者: moon(管理人みたい)
発言日: 2006 02/07 12:11
発言元: office-gw.aztec.jp
 
> 携帯表示だけで良いのですが、
> 『ほかの記事を読む』をクリックした時に、年、月表示だけにさせていたです。
> イベントお知らせとして使用予定なのですが、月ごとの検索を行いたいと思っております。
> その月の予定イベントが全て表示するようにしたいです。


kei.pl
866行目あたり

    ($mday1,$mday2) = split(//,$mday);
    print qq|<select name="day1">\n|;
    for (0..3) {
        if ($mday1 == $_) {
            print qq|<option value="$_" selected>$_\n|;
        } else {
            print qq|<option value="$_">$_\n|;
        }
    }
    print qq|</select>\n|;
    print qq|<select name="day2">\n|;
    for (0..9) {
        if ($mday2 == $_) {
            print qq|<option value="$_" selected>$_\n|;
        } else {
            print qq|<option value="$_">$_\n|;
        }
    }
    print qq|</select>日<br>\n|;
    print qq|または\n|;
    print qq|<select name="day3">\n|;
    print qq|<option value="">\n|;
    print qq|<option value="a">上旬\n|;
    print qq|<option value="b">中旬\n|;
    print qq|<option value="c">下旬\n|;
    print qq|</select>\n|;

を削除。
同じように953行目辺りの同じ記述を削除。

nik.cgi 115行目あたり
    elsif ($mode == 2) {    # ほかの記事選択FORM
        if ($FORM{'day3'}) { &logvw_w3; }
    }
これを↓にかえる
    elsif ($mode == 2) {    # ほかの記事選択FORM
        &logvw_w3;
    }


で、またkei.pl
483行目辺りの
sub logvw_c3 {
のサブルーチン内。


    open (IN,$log_file_c);
    @line = <IN>;
    close (IN);

    foreach $line (@line) {
        (@_) = split(/\t/,$line);

        if ($in{'day3'} eq "a") {

            for (1..10) {
                $_ = sprintf("%02d", $_);
                $chh = "$in{'year'}$in{'mon'}$_";
                if ($_[0] =~ /^$chh/) {
                    push(@datas,$line);
                }
            }

        } elsif ($in{'day3'} eq "b") {

            for (11..20) {
                $chh = "$in{'year'}$in{'mon'}$_";
                if ($_[0] =~ /^$chh/) {
                    push(@datas,$line);
                }
            }

        } elsif ($in{'day3'} eq "c") {

            for (21..32) {
                $chh = "$in{'year'}$in{'mon'}$_";
                if ($_[0] =~ /^$chh/) {
                    push(@datas,$line);
                }
            }

        } else {

            $chh = "$in{'year'}$in{'mon'}$in{'day1'}$in{'day2'}";
            if ($_[0] =~ /^$chh/) {
                push(@datas,$line);
            }

        }
    }

これを以下に変更

    open (IN,$log_file_c);
    @datas = <IN>;
    close (IN);

同じように
sub logvw_w3 {
の中のものを変更。

でできそうな感じです。

案の定テストをしていないので、動かなかったら再度質問してください。

▼関連発言

272:日記SP「開いた時にその月のログを表示」には [ぷりん] 01/15
 └274:Re:日記SP「開いた時にその月のログを表示」 [moon(も] 01/16
  ├276:Re[2]:日記SP「開いた時にその月のログを [ぷりん] 01/17
  │└277:Re[3]:日記SP「開いた時にその月のログ [moon(管] 01/17
  │ └278:Re[4]:日記SP「開いた時にその月のロ [ぷりん] 01/18
  │  └279:Re[5]:日記SP「開いた時にその月の [moon(管] 01/18
  │   └280:Re[6]:日記SP「開いた時にその月 [ぷりん] 01/18
  │    └281:すみません、もう1つ・・・ [ぷりん] 01/25
  │     └282:Re:すみません、もう1つ・・ [moon(管] 01/25
  └284:便乗質問です。日記でできません。 [dan] 02/05
   └285:Re:便乗質問です。日記でできません。 [moon(管] 02/05
    └287:Re[2]:便乗質問です。日記でできませ [dan] 02/06
     └288:Re[3]:便乗質問です。日記でできま [moon(管] 02/06
      └289:Re[4]:便乗質問です。日記ででき [dan] 02/06
       └290:Re[5]:便乗質問です。日記でで [moon(管] 02/07 <

Pass 保存

CGIROOM