PHPでMySQLを利用した予約カレンダーを作成しなければならない課題なのですが、初心者同然の知識ではなかなか難しく、また、思うようなサンプルも見つからず、困っています…。
希望としては、カレンダー表示(うるう年計算や祝日情報を含む)で、データベースに予定が入っていなければ日付にリンク付けをし、枠内に○印を記載、そりてリンクからは予約項目入力ページに移動させるようにしたいと思っています。また、データベースに予定が入っていれば日付のリンク付けはなしで枠内に×印を表示して予約が出来ないようにしたいと考えています。
下記が予約状況を入れたMySQLテーブルです。
mysql> desc reserve;
+--------------+-----------+----+---+-----------------+---------------------------+
|Field |Type |Null|Key|Default |Extra |
+--------------+-----------+----+---+-----------------+---------------------------+
|会員ID |varchar(10)|NO |MUL|NULL | |
|部屋NO |int(3) |NO |MUL|NULL | |
|人数:大人 |int(3) |NO | |NULL | |
|人数:子ども |int(3) |NO | |NULL | |
|チェックイン |date |NO | |NULL | |
|チェックアウト|date |NO | |NULL | |
|宿泊プランNO |int(10) |NO |MUL|NULL | |
|予約登録日 |timestamp |NO | |CURRENT_TIMESTAMP|on update CURRENT_TIMESTAMP|
+--------------+-----------+----+---+-----------------+---------------------------+
出来ればサンプルコード、もしくは希望のサンプルが乗ったURLなどをお教え頂きたく思います。
また、予約画面ではチェックアウト日選択(チェックイン日から1週間以内)や、人数を入力していただくテキストフィールドと宿泊プランの選択プルダウンをつけるつもりでいます。
すみませんがどなたかこの初心者に救いのお手をお貸しくださいませ。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ざっくり書くとこんな感じでカレンダーを表示する
<form>
<p>
<select name="ym">
<option value="201301">2013年 1月</option>
<option value="201302">2013年 2月</option>
<option value="201303">2013年 3月</option>
<option value="201304">2013年 4月</option>
<option value="201305">2013年 5月</option>
<option value="201306">2013年 6月</option>
</select>
<input type="submit" value="go">
</p>
</form>
<?PHP
$ym=isset($_REQUEST["ym"])?$_REQUEST["ym"]:false;
$pattern="/^([0-9]{4})([0-9]{2})$/";
if(preg_match($pattern,$ym,$matches)){
$y=(int) $matches[1];
$m=(int) $matches[2];
$d=mktime(0,0,0,$m,1,$y);
$w=date("w",$d);
$d -=$w*86400;
$table="<table border>\n";
$table.="<caption>{$y}年{$m}月</caption>\n";
$table.="<tr><th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th></tr>\n";
while(mktime(0,0,0,$m+1,1,$y) >=$d){
$table.="<tr>";
for($i=0;$i<7;$i++){
$table.="<td>";
if($m != (int) date("m",$d)) $table.="";
else $table.=date("j",$d);
$d+=86400;
$table.="</td>\n";
}
$table.="</tr>\n";
}
print $table;
}
?>
あとは$yと$mをもとに、データベースからひと月分予定を抜いてきて、表示を調整する。
たとえば、こんな感じ・・・
$sql="SELECT 日付,予定 FROM 予定表 WHERE 日付 BETWEEN @d:='{$y}-{$m}-1' AND @d + interval 1 month - interval 1 day";
No.1
- 回答日時:
課題なのにサンプルコード提示したらそのまま使っちゃうだろ。
ここまで詳細な仕様が決まっているならサンプルは無いよ。
まずはどこがわからないの?
サンプル出す出さないにしたって漠然としすぎ。
仮にサンプル出すにしてもここで回答しきれる内容じゃないよ。
・表示の仕方がわからない
・カレンダーの作り方がわからない
・登録の仕方がわからない
・そもそもmySQLとの接続が出来ない
・そもそも課題の意味がわからない
ひとつひとつクリアするしかないぜ?
>初心者同然の知識ではなかなか難しく
だから課題を出すんだよ。学校とかの勉強なんだろ?
この回答への補足
ご回答ありがとうございます。
分からないのは、
・表示の仕方がわからない
・カレンダーの作り方がわからない
です。
カレンダーのサンプルならば見つけたのですが、そこにMySQLのデータを組み合わせ方が全く分からず、全然捗っていないのです…。
一応希望としては
http://showcase.souppot.jp/top.php
このような形のカレンダーが理想です…。
なので、結果としてはカレンダー表示にデータベースの予定を反映したいけれど、どんなコーディングをすればいいのかさっぱりわからない、といった具合です。
分かり辛く、お手数をおかけしましてすみませんでsた
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンの値を受け取ってP...
-
2つのプルダウンメニュから受け...
-
複数 selectフォームから今回on...
-
複数のセレクトボックスを1つに...
-
プルダウンで選択された値を保持
-
携帯電話HP作成。
-
phpでカレンダー作成
-
頭文字→大学→学部を選択する入...
-
PHP プルダウンメニュー
-
検索時の選択内容を保持する方法
-
syntax error, unexpected '}' ...
-
phpで分からないエラーが出てし...
-
<input type="hidden" >で配列...
-
複数条件での検索について教え...
-
PHPでURLにジャンプするには?
-
PHPで画像の渡しが上手く行きま...
-
フォームボタンを押すたびに数...
-
PHPを勉強中の専門学生です。 ...
-
phpで、フォームのラジオボタン...
-
form id、nameの番号振りなおし
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
<select>文、foreachと初期値設定
-
php セレクトボックス 値取得
-
phpでのselect値の取得・表記に...
-
連動させたいセレクトボックス...
-
ドロップダウンで送信先を変更...
-
[Ethna]selectボックスに空値を...
-
phpのプルダウンメニューで選ん...
-
プルダウンリスト(コンボボッ...
-
phpでのセレクトボックスの値を...
-
【PHP&JavaScript】複数の別ウ...
-
ループでチェックボックスにche...
-
選択されたプルダウンの値を変...
-
複数 selectフォームから今回on...
-
GET又はPOSTで受け取るデータに...
-
PHP セレクトボックスの値 GET...
-
チェックボックス&セレクトボ...
-
複数のセレクトボックスで
-
Smartyで、セレクトボックスが...
-
オプションメニューの選択され...
おすすめ情報