Hatena::ブログ(Diary)

しのーのゆったりまったり

2010-08-25

プルダウン式の日付選択の作成

| 22:42

プルダウン式の日付の作成方法がわからない

月と日付を別々に作成して

当日を初期表示にするまではいいのだが

<?	
    $time = time();
    $month = date("n", $time);
    $day = date("j", $time);

    print("<select name=\"month\">");
    for( $j = 1; $j <= 12; $j++ ){
        if( $j == $month ){
             print("<option value=\"$j\" selected>$j</option>");
        }else{
	     print("<option value=\"$j\">$j</option>");
        }
    }
     print("</select>月");
     print("<select name=\"day\">");
			  
     for( $k = 1; $k <=31 ; $k++ ){
         if( $k == $day ){
	     print("<option value=\"$k\" selected>$k</option>");
         }else{
	     print("<option value=\"$k\">$k</option>");
         }
     }
     print("</select>日");
?>

これだと、1月とか8月とかみたいに31日まである月はいいんだけど、2月やら11月やらも31日を選択できてしまう。

JavaScriptを使えばなんとかなりそうな気もするんだけど、まだまだ勉強不足すぎるな〜。

何かヒントがあれば教えてくださいな。

IppanZinXIppanZinX 2010/08/25 23:04 mbgaとかの携帯サイトは案外こういう微妙な箇所は無視しちゃってたりする。

親メニューから親データ(ここでは月)の入力を待って、その月の情報を取得してから子メニュー(ここでは日)を生成させるのが一番楽な解法だと思う
javascriptで上記の方法を考えればかなり楽だけど、既成の方法に囚われずに、新しい方法を考えるのが上達のコツだと思うわけですよ

shino3418shino3418 2010/08/25 23:09 色々考えてたら8月25日で1項目として365日作成すれば簡単じゃんってなったw
しかし使えなナンバー1なのでだめだったw

shino3418shino3418 2010/08/26 13:59 親データの入力を待ってって書いてありますが、データ入力されるまで日付のプルダウンメニュー表示はない感じになるのですか?
それと、入力したデータを子データに飛ばすにはやっぱりボタンかJSが必要になってくる気がするんですが。
暇な時にでももうちょっと詳しく教えてください!

よしまんよしまん 2010/08/26 14:56 フレのフレにまでコメントしだした僕を誰か止めてもらえませんか?ww
PHPのみで月末を。うーん、自分ならやっぱり、JAVASCRIPTかなぁー。

たぶん、これでもなる。↓

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>通りすがりのよしまん</title>

</head>
<script language="javascript" type="text/javascript">
<!--

function getDaysInMonth(iYear, iMonth) {
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

if ( ((iYear % 4 == 0) && (iYear % 100 != 0)) || (iYear % 400 == 0) ) {
daysInMonth[1] = 29;
}
return daysInMonth[iMonth - 1];
}

function changeDay(tform){
var day = getDaysInMonth(2007, tform.month.value );
tform.day.options.length = 0;
for( i=1; i<=day; i++ ){
woption = new Option( i, i );
tform.day.options[i-1] = woption;
}
}

-->
</script>
<body>
<form action="" method="post" name="checkingdate">
<select name="month" onChange="changeDay(document.checkingdate)">
<?
$time = time();
$month = date("n", $time);
$day = date("j", $time);
for( $j = 1; $j <= 12; $j++ ){
if( $j == $month ){
print("<option value=\"$j\" selected>$j</option>");
}else{
print("<option value=\"$j\">$j</option>");
}
}
?>
</select>月
<select name="day">
<?

for( $k = 1; $k <=31 ; $k++ ){
if( $k == $day ){
print("<option value=\"$k\" selected>$k</option>");
}else{
print("<option value=\"$k\">$k</option>");
}
}
?>
</select>日

</form>

</body>
</html>

shino3418shino3418 2010/08/26 21:25 この場でははじめまして!
フレのフレではなく今日からフレでよろしくお願いしますw

何気に閏年まで考えてあるところがかっこいいですね、やっぱりJS面白いですね!はまりそうです
日付の設定もdate(t)を使ってなんとかしようと考えてたんですがこういったやりかたもあるんですね〜
完全に趣味の領域での質問なんですが、初期表示が1週間後とかの設定もJSでできるのしょうか?

よしまんよしまん 2010/08/27 11:44 うん、できますよ。
下記の関数をJAVASCRIPTに追加してもらって

function computeDate(year, month, day, addDays) {
var dt = new Date(year, month - 1, day);
var baseSec = dt.getTime();
var addSec = addDays * 86400000;//日数 * 1日のミリ秒数
var targetSec = baseSec + addSec;
dt.setTime(targetSec);
return dt;
}

//7日後の計算
//引数は、(2010年,8月,27日,7日後)で渡す。
function after7days() {
var date = new Date();
date = computeDate(date.getFullYear(), date.getMonth() + 1, date.getDate(), 7);
document.checkingdate.month.value = date.getMonth() + 1;
changeDay(document.checkingdate);
document.checkingdate.day.value = date.getDate();
}


BODYタグのところを下記に変更すればOKです。
<body onLoad="after7days()">

でも、初期表示ならPHPのほうが楽かもしれないですよ?;;

shino3418shino3418 2010/08/30 22:59 ちょっとドタバタしてて返答遅れました、またしてもわざわざありがとうありがとうございます。
時間ができたら試してみますね^^

digitarhythmdigitarhythm 2010/09/10 14:11 普通にPHPで各月の日数の配列を作って、それでselectのoptionをループで廻せばいいと思うー

水子水子 2012/02/08 04:20 赤ん坊大きくなるの愉しみだねw

dropdbdropdb 2012/03/14 01:39 のり子も杉並区の保育園に子供預けて共働きか
杉並区は放射性物質だらけだぞ
あんな土地で子育てとは大変だなw

沖縄や海外に移住する金もないのに子供産む奴は計画性ゼロのアホ
蛙の子は蛙、アホの子はアホw
子供は病気になって死にやすいから注意しろよ

杉並は左翼の街杉並は左翼の街 2012/04/16 06:59 杉並区?それどこ情報 どこ情報よー目黒じゃないの?

杉並は左翼の街杉並は左翼の街 2012/04/16 07:00 杉並区?それどこ情報 どこ情報よー目黒じゃないの?

ofhwnofhwn 2012/04/16 23:50 住所公開はやばくね?検索したけど本人公開してる様子ないし、身近な人物による私怨だね。

本人たちはもうこのブログみてないだろうけど、気づいたとして住所や保育園情報が本当なら子供に危険が及ぶことだから動くと思うよ。心当たりのある人は気をつけな。

もう、何年か経ってるけどじつ○んとは○ごは殺害予告もどきをして、どちらかは目黒警察から注意の電話いってる。これはブログだかツイッターで報告されてた。
非会員から書き込むとIPアドレス通知されるし特定したんだと。

ネトウヨ斎藤のり子ネトウヨ斎藤のり子 2012/04/18 05:48 id:webkitアカウント消したのなんで?
目黒警察から注意の電話がいったなんて小手先の嘘がバレたからだろ
次はアメブロでやれよ

ijugmijugm 2012/04/18 10:25 リベラル思考の杉並にネトウヨは住まないだろ。
Webkitのアカウントはずいぶん前から消えてね?
消した理由はシラネ。
今はFC2でゲームブログやってる。
ttp://sims4u.blog51.fc2.com/

ijugm ijugm 2012/04/18 10:32 途切れた、プロフィールに元フィリピン人って書いてあるし
本人はこのゲームが好きだったから確実。

小手先の嘘ってなに?じつ●んかは●ごが嘘バレてヘマしたってこと?

dropdbはネトウヨdropdbはネトウヨ 2012/04/18 13:21 一昨日まではアカウントあった
ブクマ読めたから覚えてる

斉藤のり子はブクマに[軍事]が多かったうえに[田母神俊男]もあって、田母神が好きと書いてたからネトウヨだろ
ググればまだ読めるぞ

目黒警察からはどっちにも電話行ってないっつうか、警察になにも受理されてないんだよ
殺害予告したのはは●ごだけど、警察は煽った斉藤のり子も悪いと見るからな

へえ、今はゲームブログやってんのか
あんがと

zdrmzdrm 2012/04/18 23:01 外国籍のどろが外国人排外主義の右翼て矛盾だろw
fpsプレイヤーだから軍ヲタじゃないの?

自分でURLはっといてなんだけど、どろのブログ見てなかった。けど今見たらひどいことになってんのな。
これが原因て閉鎖したのか?しばらくヲチしなかったから流れがわからん。

あ 2012/04/18 23:04 ってもヲチするほど本人は、もうネットで活動してないからな。このゲームブログも結構前にツイッターのプロフィールで公開してたけど、今はそのツイッターのアカウントも消えてる。

斉藤のり子はフィリピン人三世斉藤のり子はフィリピン人三世 2012/04/19 08:05 ゲームブログの釣りに引っかかる奴がいると思ってんのか・・・

出産祝い・結婚祝い・内祝い - <> 2011年12月27日
出産祝い・結婚祝い・内祝い. 出産祝い、結婚祝い、内祝いのギフトならアミング. 100万個注文した!!!!
http://d.hatena.ne.jp/webkit/20111227/1324965365

名付け - <> 2012年2月12日
息子の名前は政宗です。双子の妹、女の子の名前はお市ちゃんです。
もはやドキュンネームとはなんぞや、というレベルになってきまきた。
もちろん、嘘ですよ。 子供の名前と性別はさらしません! てか、もう二月ですね。 やばい よ!やばいよ! 〈出川〉.
http://d.hatena.ne.jp/webkit/20120212/1329057352

もげもげ 2012/04/19 09:04 ああ、なんだ釣りか。どこに最新情報うpされてんの教えてえろい人

dropdbはネトウヨdropdbはネトウヨ 2012/04/19 09:30 webkit 田母神俊雄 極端な思考でわりと好き。
http://b.hatena.ne.jp/entry/twitter.com/toshio_tamogami

もげもげ 2012/04/19 10:02 ネトウヨきもw今の日本を考えれば死刑反対・非武装、非軍隊、
外国人大量流入したほうがいいだろうに。ウヨは頭固すぎる。
はてなは左の集まりなのに何故はてなを利用していたんだか。
自分もつい昨日子供が産まれたから
(ご指摘の通り放射能まみれの東京で産んでしまったアホだがw)
drの様子はどうだろうと思ってブログを見に来て消えてたから
ふとここにきたくちなんだがまさかやりとりできる人がいるとは。
今drはどこで活動してんの?情報通の人ヒント教えて

もげもげ 2012/04/19 10:03 昨日じゃない、先日産まれただ。

シノさんは女を見る目がないシノさんは女を見る目がない 2012/04/19 10:28 175 :名無しさん@ゴーゴーゴーゴー!:2008/11/19(水) 01:10:53 ID:hsZ+x/PsO
俺もリアルドロップみたことあるけど、ブログでみるよりか変な顔だったよ。
あとちょっと太め。デブって程じゃないし、ぽっちゃり好きにはあれ位のが良いのかもしれんが。

176 :名無しさん@ゴーゴーゴーゴー!:2008/11/19(水) 01:32:42 ID:PzdAmoY30
オフ参加者から言わせてもらうとdropdbを超カワなんて言うのは本人だけだろ。
陰で何言われてたのか知らないほうが幸せだと思いますが。

179 :名無しさん@ゴーゴーゴーゴー!:2008/11/19(水) 03:12:07 ID:JZNhnsIm0
またdropdb本人か
本人以外誰がそこまであの程度の顔を誉めるんだよw

シノさんは女を見る目がないシノさんは女を見る目がない 2012/04/19 10:31 948 :dropdb:2008/11/07(金) 21:21:05 ID:ld5rJrmf0
一部じゃなくて割りと全体的に評判悪いよAHAHAHA~夜炉氏区★
引きこもりを強制的に外へ連れ出そうとするほうが悪。
>>946 てめぇが知り合いなら二度と私を誘うなよボケナスカス。

11 :名無しさん@ゴーゴーゴーゴー!:2008/11/09(日) 18:12:18 ID:MUAjNWVgO 本物だと思う。
たまに偽物も書いてるっぽいけど9割くらい自分で荒らしてると思う。
dropdb本人知ってるけどそういう人だし。
昔もベンチャー板で名前が出てきたときも自分で荒らしまくってたし。
これは元同僚で仲が良かったら人なら知ってるんじゃない?

12 :名無しさん@ゴーゴーゴーゴー!:2008/11/09(日) 18:14:37 ID:1NM7n5fl0
dropdbなんかの病気なんじゃないの?

14 :名無しさん@ゴーゴーゴーゴー!:2008/11/09(日) 18:47:55 ID:1mWFDh4I0
dropdb彼氏に振られてやけになっとんかね。
ダーツ屋の店長と結婚すればいいのにね。


これが子供に読まれてしまうとは子供も不幸だ

どれどれ 2012/04/19 11:10
携帯電話からだとその書き込みは読みづらいわw
それと2008年の書き込みとか古参回顧厨すぎる。
当時はてダスレをリアルタイムで読んでたので懐かしいレベル。

もっと最新版が欲しい!クレクレ、えろい人

犯罪者犯罪者 2012/04/19 11:21 そういえば結婚して苗字変更後に笑った
結婚して - <> - キャッシュ
2011年10月26日 – ■[*]結婚して. さかいのりこになったよwww

トラックバック - http://d.hatena.ne.jp/shino3418/20100825/1282743733