カレンダー型予約システムその1
ぼちぼち作りかけてます。
Yahooトラベルとか楽天トラベルみたいなもの。カレンダーの日付クリックしたら予約画面。
でも日付はselectであとから変えられるとか。
まず、カレンダーだ。いちから作るべきなんだけどちょっと手抜きしてレッツPHPさんところの流用させてもらう。
日付リンクをクリックで予約画面に遷移。
getで値渡してるけど、postに変えた方がいいな。それは後でできるとして。
こういう風にしたかった。
printfで月日は2桁に揃える、と。
ソース
<?php //dateはyyyymmddの8桁の数字 $date=$_GET['date']; if($date != null){ $getyear=(str_split($date,4)); // 分解数を指定 $getm_d=(str_split($getyear[1],2)); print "$getyear[0]年 $getm_d[0]月 $getm_d[1]日<br><br>"; $year=$getyear[0]; $month=$getm_d[0]; $day=$getm_d[1]; echo <<<EOT <form method="POST" action=""> <select name="year"> EOT; $nextyear=$year+1; echo <<<EOT <option value="$year" selected>$year <option value="$nextyear" >$nextyear </select>年 <select name="month"> EOT; if($month==01){ print "<option value=\"$month\" selected>$month"; for($i=2;$i<=12;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } } else{ for($i=1;$i<$month;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } print "<option value=\"$month\" selected>$month"; $nextmonth=$month+1; for($i=$nextmonth;$i<=12;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } } echo <<<EOT </select>月 <select name="day"> EOT; if($month==01){ print "<option value=\"$day\" selected>$day"; for($i=2;$i<=31;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } } else{ for($i=1;$i<$day;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } print "<option value=\"$day\" selected>$day"; $nextday=$day+1; for($i=$nextday;$i<=31;$i++){ printf("<option value=\"%02d\">%02d",$i,$i); } } echo <<<EOT </select>日 <input type="submit" value="送信"> <input type="reset" value="取消"> </form> EOT; } ?>
道は長いなー。フォームから作ってますけど。
根本的に、どんなデータの型が必要で…とか全然考えて作ってないので髪に書き出して整理しないと。
sqlでやるつもりだしねー