いつもありがとうございます。
下記のようなコードを書いて1週間のカレンダーを作っていますが、
どうしても日曜日からの表示になります。
この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。
よきアドバイスをお願いします。
<?
//来週・前週の---日曜日----をgetした値
$get_sunday = htmlspecialchars($_GET["get_sunday"]);
$entry_day = htmlspecialchars($_GET["entry_day"]);
//変数の値の識別カレンダー表示
//get_sunday (来週・前週)の値がgetされていたら
if($get_sunday!=""){
//getされた日曜日の日付
$mm = date("m",strtotime($get_sunday));
$dd = date("d",strtotime($get_sunday));
$yyyy = date("Y",strtotime($get_sunday));
//getされた日曜日の日付(日のみ)
$sunday_num = $dd;
//getされた日曜日の日付(年月日)
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
}
// =================================================
//変数の値の識別 カレンダー表示
//entry_day (指定した日)の値をgetされたら
if($entry_day!=""){
$mm = date("m",strtotime($entry_day));
$dd = date("d",strtotime($entry_day));
$yyyy = date("Y",strtotime($entry_day));
//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
//日0・月1・火2・水3・木4・金5・土6
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
//entry_dayの値
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;
}
// =================================================
//変数の値がない場合は本日の日付の取得 カレンダー表示
if($get_sunday=="" and $entry_day==""){
$mm = date("m",time());
$dd = date("d",time());
$yyyy = date("Y",time());
//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;
}
//前週、次週に日曜日の日付を取得 カレンダー表示
$sunday_last = $sunday_num - 7;
$sunday_next = $sunday_num + 7;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>レンダー画面</title>
</head>
<body>
<table>
<tr>
<td></td>
<td bgcolor="#00FFFF">日</td>
<td bgcolor="#00FFFF">月</td>
<td bgcolor="#00FFFF">火</td>
<td bgcolor="#00FFFF">水</td>
<td bgcolor="#00FFFF">木</td>
<td bgcolor="#00FFFF">金</td>
<td bgcolor="#00FFFF">土</td>
<td></td>
</tr>
<tr>
<form method="get" name="form2"action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_last, $yyyy)); ?>">
<input type="submit" name="Submit2" value="前週へ">
</td>
</form>
<?
//週カレンダー(前週ボタン作成)ここまで
//週カレンダー日付を入れる
$w2 = $sunday_num;
$select_day = date("Y-m-d", mktime(0, 0, 0, $mm, $w2, $yyyy));
$i = 0;
while($i < 7) {
//日曜日から順に日付を$select_dayに入れていく
?>
<td bgcolor="#CCFFFF"><? echo date("m月d日", mktime(0, 0, 0, $mm, $w2+$i, $yyyy)) ?></td>
<?
// 日付けを一つ繰り上げる
$i++;
}
?>
<form method="get" name="form2" action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_next, $yyyy)); ?>">
<input type="submit" name="Submit" value="次週へ">
</td>
</form>
</table>
</body>
</html>
No.1ベストアンサー
- 回答日時:
$sunday_num = $dd - $week_num;
を
$sunday_num = $dd - $week_num +1;
で月曜からの表示になります。
あとは<td>の順番を変えるのと。
後はコードこのままでも大丈夫だと思いますが不安なら
他の方のコメントも少し待った方がよいかもですね
このカレンダーなかなか面白いですね
私は見たことない感じなので、今後の勉強にさせて頂きます
※ 転用するような真似は絶対しません
ありがとうございます。
GETの受け渡しで日付をクリックすると
送信された日曜日がどうしても
その週にならなかったのですが、
1を足したり引いたりで出来ました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロードしたファイル名に...
-
日付が上手く取得できないです
-
開始と終了を指定して、その間...
-
昨日の日付を取得するVBscript
-
C言語を使って、ある特定の日の...
-
ファイル名に日付の挿入
-
時間のチェックはどうすれば良...
-
Dosブロンプトでtabを出力したい
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
Yahoo! JAPAN IDを新規取得でき...
-
【C#】DataGridViewの最大列数...
-
EXCEL VBAでのCSV出力について
-
http://www.なんとか.com/ に...
-
switch()文で値の大小比較
-
phpでcookieがうまく保存されない
-
EXCEL、マクロ-改ページ行番号...
-
「次の10件を表示する」のよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
昨日の日付を取得するVBscript
-
アップロードしたファイル名に...
-
現在時刻をyyyymmddhhmmss形式...
-
昨日の日付名でファイルを作成...
-
C言語でシステム日付との差を...
-
プルダウンからの日付取得処理
-
md5について
-
C言語を使って、ある特定の日の...
-
MYSQLの日付から現在までの年数...
-
strtotime 前月・前々月の表示
-
PHPで以下のような占いプログラ...
-
日付を付けたファイルを作成したい
-
ESXiのdateコマンドについて
-
MS-DOSでの日付表示
-
PHPでn日後を計算したい
-
シェルスクリプト:N日前の日付...
-
構造体の自作関数内で入力した...
-
日付時間をファイル名にしたい...
おすすめ情報