人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで日付を選択するフォームを作成したいのですが方法がよくわからないので教えてください

やりたいことは下記のように開始日と終了日を選択できるセレクトボックスを設置したいのですが

開始日:[2007]年 [10]月 [10]日 ? 終了日:[2007]年 [12]月 [11]日

?このフォームを表示したときに開始日と終了日にはその日の日付をセットしたい

?開始日と終了日が指定され、POSTされたときに、両日付にPOSTされた日付をセットしたい
(選択された年月日の部分に"selected"を自動で入るようにしたい)

一番詳細な回答をいただけた方に300ポイント差し上げます
サンプルソースをいただけると助かります
よろしくお願いします

●質問者: jayz
●カテゴリ:ウェブ制作
✍キーワード:PHP サンプルソース セレクト ボックス ポイント
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● にぎたま
●27ポイント

これ、ビンゴじゃないですかね?

このページの一番上の回答者が書いているソースです。

http://www.phppro.jp/qa/465


2 ● tezcello
●300ポイント

(2) の方を盛込んだ形にしてみました。

if (isset($_POST['btn_Submit'])){
$start['y'] = $_POST['sy'];
$start['m'] = $_POST['sm'];
$start['d'] = $_POST['sd'];
$end['y'] = $_POST['ey'];
$end['m'] = $_POST['em'];
$end['d'] = $_POST['ed'];
}else{
$start['y'] = date('Y');
$start['m'] = date('n');
$start['d'] = date('j');
$end['y'] = $start['y'];
$end['m'] = $start['m'];
$end['d'] = $start['d'];
}


function set_opt($s, $e, $sel){
$a = '';
for ($i=$s; $i<=$e; $i++){
if ($i == $sel) $b = ' selected'; else $b = '';
$a .= "<option value=\"$i\"$b>$i</option>";

}
return $a;
}

$opt_sy = set_opt(2005, 2009, $start['y']);
$opt_sm = set_opt(1, 12, $start['m']);
$opt_sd = set_opt(1, 31, $start['d']);
$opt_ey = set_opt(2005, 2009, $end['y']);
$opt_em = set_opt(1, 12, $end['m']);
$opt_ed = set_opt(1, 31, $end['d']);

$html = <<<EOL
<html>
<head>
 <title>はてなテスト</title>
</head>
<body>
<form method="post">
開始日:<select name="sy">{$opt_sy}</select>年 <select name="sm">{$opt_sm}</select>月 <select name="sd">{$opt_sd}</select>日
 ? 終了日:<select name="ey">{$opt_ey}</select>年 <select name="em">{$opt_em}</select>月 <select name="ed">{$opt_ed}</select>日
<p><input type="submit" name="btn_Submit" value="ボタン"></p>
</form>
</body>
</html>

EOL;

print $html;

不明点がありましたら、回答受付中でもコメントがつけられるように変更してくださいね。

回数制限を気にしないでお答えできますので。

◎質問者からの返答

ご回答ありがとうございます。

ばっちりです。またご指摘していただいたコメントについては知らなかったので助かりました


3 ● じゃっくそにっく
●50ポイント

?、?の条件を満たす、

POST受け取り側スクリプト(本体)、及び

POST送信側のサンプルを含む

を↓のページに書きました。

PHP/2つの日付を設定するフォーム(POST受付可) - ジャックズラボ jack's Lab

何か要望があればどうぞ。

私もコメントはつけられるようにしておいたほうがいいかと思います。

◎質問者からの返答

わざわざアップしていただいてありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ