WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:日付をプルダウン

0:[投稿] ぉぉ [2005/06/24 21:32 ][環境:IE6,WIN98 わからない]

お聞きしたいのですが通販などで見かける、CGIで配達希望日を選択させたいのですが、どのように記述するのでしょうか?

たとえば、3日後の日付(2005年a月b日)から1ヶ月後(2005年x月y日)の間をプルダウンで出したいのですが。
お分かりになられる方、どうかお教えくださいませ。


1:[回答] 通りがかり。 [2005/06/25 08:23 ]

1ヶ月後って、その月の末日が28〜31日だった場合の計算も考慮するのか、
それとも、「1ヶ月=30日」と決め付けて計算するのか。

これによって大きく変わります。
#閏年も計算に入れないといけないからね。
#あと0時を超えても、ちゃんと計算されるようにしないといけないよね。


2:[回答] 通りがかり。 [2005/06/25 08:25 ]

ちょっとわかりにくいかな。

>1ヶ月後って、その月の末日が28〜31日だった場合の計算も考慮するのか、

これだった場合、例えば、1月31日の日に1ヶ月間表示させようと思ったら
2月は28or29日までしかないから、この場合、どこまでの範囲を表示させ
れば良いのか。


3:[質問] ぁぁ [2005/06/25 09:17 ]

通りがかり。さんありがとうございます。
でも初心者には内容が難しくて・・・。

下のような感じで1か月間を表示という記述があるんですが、
ちょっとできないみたいで
どこが違うんでしょうか?

>3日後の日付(2005年a月b日)から1ヶ月後(2005年x月y日)
でなく翌日からでもいいのですが。

print <<"EOM";
SELECT name="day">
     <OPTION value=""></OPTION>
EOM

$ENV{'TZ'} = "JST-9";
@TIME = localtime(time);

foreach (1..32) {
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time+$_*24*60*60);
$mon++;
$year += 1900;

if ($mday <10) { $mday ="0$mday";}
if ($mon <10) { $mon ="0$mon";}

print "<OPTION value=\"$year年$mon月$mday日">$year年$mon月$mday日</OPTION>\n";

if ($TIME[3] eq $mday ) { last; }

}

print <<"EOM";
     </SELECT>
EOM


4:[回答] 通りがかり。 [2005/06/25 14:59 ]

あの、自分の入力ミスだということを、まず最初に考えなかったのでしょうか。


print "<OPTION value=\"$year年$mon月$mday日">$year年$mon月$mday日</OPTION>\n";

print "<OPTION value=\"$year年$mon月$mday日\">$year年$mon月$mday日</OPTION>\n";

単なる、タイプミスです。


5:[完了] ぉぉ [2005/06/25 18:16 ]

>単なる、タイプミスです。

失礼しました。 おっしゃるとおりです。
ありがとうございました。

PS 名前も間違ってました


6:[質問] DONたこす [2005/06/30 17:56 ]

完了のところ申し訳ありません。
私もこれと同じようなことを考えておりまして、
私の場合はprint <<"EOM"; で書き出すのではなく
スキンの<!--hinichi-->に書き出したいのですが何か方法はありますでしょうか?


7:[回答] 通りがかり。 [2005/07/02 02:53 ]

普通に置換するだけじゃいけないのでしょうか?
テンプレートするサンプルなんて、山のようにありますが、調べたりして
いますか?

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World