いつもありがとうございます。
下記のようなコードを書いて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で質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- JavaScript gasについて 1 2022/05/31 21:51
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで以下のような占いプログラ...
-
差分の月数を算出する方法
-
C言語でシステム日付との差を...
-
開始と終了を指定して、その間...
-
Accessコンボボックス
-
Accessで、DAOでAddnew
-
PHPでmysqlを使ってます。日時...
-
PHPでカレンダーを作る(縦書き)
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
switch()文で値の大小比較
-
DTOとEntityの差は何ですか。
-
shシェルスクリプト 空白行の...
-
findstrのerrorlevel
-
「取得先」という表現について
-
VB.NETからVBAマクロ(引数)を呼...
-
Yahoo! JAPAN IDを新規取得でき...
-
アクセスの度にIPアドレスを変...
-
WordでExcelデータを差込...
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
アップロードしたファイル名に...
-
昨日の日付を取得するVBscript
-
C言語でシステム日付との差を...
-
C言語を使って、ある特定の日の...
-
Accessコンボボックス
-
現在時刻をyyyymmddhhmmss形式...
-
月曜日から始まる週間カレンダ...
-
6ヶ月前の日付を取得するにはど...
-
MySQLのdate型をphpで○年○月○日...
-
今日の日付から1週間のリスト
-
MYSQLの日付から現在までの年数...
-
ASP 年度年齢の計算
-
ESXiのdateコマンドについて
-
PHP 指定した期間だけ表示した...
-
改行されないカレンダー(PHP)
-
VBAでのDATEについて
-
シェルスクリプト:N日前の日付...
-
rss2.0<pubDate>の日付整形
おすすめ情報