• 締切済み

月曜日から始まる週間カレンダーの作り方

いつもありがとうございます。 下記のようなコードを書いて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>

  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

$sunday_num = $dd - $week_num; を $sunday_num = $dd - $week_num +1; で月曜からの表示になります。 あとは<td>の順番を変えるのと。 後はコードこのままでも大丈夫だと思いますが不安なら 他の方のコメントも少し待った方がよいかもですね このカレンダーなかなか面白いですね 私は見たことない感じなので、今後の勉強にさせて頂きます ※ 転用するような真似は絶対しません

nicolemen
質問者

お礼

ありがとうございます。 GETの受け渡しで日付をクリックすると 送信された日曜日がどうしても その週にならなかったのですが、 1を足したり引いたりで出来ました。 ありがとうございました。

関連するQ&A

  • カレンダーで今月を取得できずに困っています。

    <?php if (!$yyyy && !$mm) { $yyyy = date("Y", $time); $mm = date("n", $time); $dd = date("j", $time); } if ($_GET["hyear"]) { $yyyy = $_GET["hyear"];   $mm = $_GET["hmonth"]; $dd = $_GET["hday"];     } $dd = 1; $youbi = array("日","月","火","水","木","金","土"); $you = date("w", mktime(0, 0, 0, $mm, $dd, $yyyy)); $backy = $yyyy; $backm = $mm - 1; $nexty = $yyyy; $nextm = $mm + 1; if ($backm == 0) { $backy = $yyyy - 1; $backm = 12; } if ($nextm == 13) {  $nexty = $yyyy + 1; $nextm = 1; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>カレンダー</title> </head> <?php print "<table border ='7' width='800' height='520' a colspan='7' align='center'><tr>\n"; print "<a><a href='./calender.php?year=" . $backy . "&month=" . $backm . "'>←先月</a>\n"; print $yyyy."年".$mm."月のカレンダー\n";  print "<a><a href='./calender.php?year=" . $nexty . "&month=" . $nextm . "'>来月→</a>\n";   ?> </tr> <tr> <?php print "<td bgcolor='#ffaaaa'><b>日</b></td>\n"; print "<td bgcolor='#ffffdd'><b>月</b></td>\n"; print "<td bgcolor='#ffffdd'><b>火</b></td>\n"; print "<td bgcolor='#ffffdd'><b>水</b></td>\n"; print "<td bgcolor='#ffffdd'><b>木</b></td>\n"; print "<td bgcolor='#ffffdd'><b>金</b></td>\n"; print "<td bgcolor='#ddddff'><b>土</b></td>\n"; ?> </tr> <tr> <?php if ($dd == 1) { $yo = 0; for ($i = $yo; $i < $you; $i++) { print "<td a class='cale' valign='top'>&nbsp;</a>"; } } $monday = 0; for ($i = $dd; $i < 3660; $i++) { $you = date("w", mktime(0, 0, 0, $mm, $dd, $yyyy)); if ($you == 1) { $monday++; } $y2 = ($yyyy - 2000); $syunbun = (int)(20.69115 + 0.2421904 * $y2 - (int)($y2/4 + $y2/100 + $y2/400)); $syuubun = (int)(23.09000 + 0.2421904 * $y2 - (int)($y2/4 + $y2/100 + $y2/400)); //日曜日にはリンク貼らない elseif ($you == 0) { print "<td><a class='cale' align='center'><bgcolor='#ffaaaa'><font size='10' color=deeppink> $dd </font></a>\n"; } //土曜日なら elseif ($you == 6) { print "<td><a class='today' href='./yoyaku.php?hyouji=hiduke=$ymd'> <span class='cale'><align='center'><font size='10' color=green>" . $dd . "</span></font></a>"; } //今日なら elseif (($yyyy == date("Y")) && ($mm == date("n")) && ($dd == date("d"))) { print "<td><a class='today' href='./yoyaku.php?hyouji=hiduke=$ymd'> <span class='cale'><align='center'><font size='10'>" . $dd . "</span></font></a>"; } //今日以外なら else { print "<td><a class='date' href='./yoyaku.php?hyouji=hiduke=$ymd'> <span class='cale'><align='center'><font size='10'>" . $dd . "</span></font></a>"; } ?> <?php $dd++; $holiday = ""; if (checkdate($mm, $dd, $yyyy) == false) { break; } if ($you == 6) { print "</tr>\n<tr>\n"; } } //unset ($plan); $dd = $dd -1; $you = date("w", mktime(0, 0, 0, $mm, $dd, $yyyy)); if ($you < 6) { $yo = $you; for ($yo; $yo < 6; $yo++) { print "<a class='biga' align='top'>&nbsp;</a>"; } } ?> <body link="indigo" alink="yellow" vlink="indigo"> </body> <body> <h1 size = 10> </h1> <h1 style="background:#ffffff"> </tr> </table> 色々調べて直そうとしたのですが、どうしても表示させると1970年から表示されてしまい、今月から表示されません。どうしたら今月から表示されるのか教えてください。お願いします。

    • ベストアンサー
    • PHP
  • 1週間カレンダー

    こんばんは。お世話になっております。 書籍にあった下記のソースを参考に、1週間単位で表示(および週単位で移動)させたいと考えているのですが、for文などの応用が出来ず、アドバイスを頂戴できればと投函させて頂きました。 お忙しい中恐縮ですが、お力いただけたら幸いです。 描いている表示 <<    >> 日 月 火 水 木 金 土 24 25 26 27 28 29 30 <?php //感じなところでしょうが文字数制限のため省略。 //フォームにて、西暦、月を取得 //yyyy = $_POST["yyyy"]; //$yyyy = date("Y"); //$mm = date("m"); echo "<table border=\"1\">"; echo "<tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td></tr>"; $wd1 = date("w", mktime(0, 0, 0, $mm, 1, $yyyy)); $d = 0; $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 0; $i <= 5; $i++) { if ($d >= $lastd) {break;} echo "<tr>"; for ($j = 0; $j <= 6; $j++) { $d = $i * 7 + $j - $wd1 + 1; if ($d > $lastd or $d < 1) { echo "<td></td>"; } else { echo "<td>"; } echo $d; echo "</td>"; } } echo "</tr>"; } echo "</table>"; 丸投げのようで、すみません。そんなつもりはないのですが・・・要領が掴めず困っております。

    • ベストアンサー
    • PHP
  • phpカレンダー縦型から格子型へ

    予約状況用の既存スクリプトから表示を変更させたいのですが、 変更内容は以下の通りです。(PHP+MySQL) ▼縦型から ------------------------ |1日 |○| |2日 |×| ・・・ |31日 |×| ▼カレンダー形式へ ------------------------ | |1|2|3|4|5|6| |○|×|△|○|○|×|×| |7|8|9|10|11|12|13| |○|×|△|○|○|×|×| ・・・ ------------------------------------------------ <table border="1"> <tr bgcolor="#ffd700"> <td>日付</td> <?php // 部屋表示 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $roomid = $row["roomid"]; $roomname = cnv_dispstr($row["roomname"]); $link = $_SERVER["PHP_SELF"]."?act=det&roomid=".$roomid; ?> <td><a href="<?php echo $link?>"> <?php echo $roomname ?></a></td> <?php } ?> </tr> <?php $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) { ?> <tr> <?php $ts = mktime(0, 0, 0, $mm, $i, $yyyy); $ymd = date("Y/m/d", $ts); $ymdstr = strftime("%Y年%m月%d日(%a)", $ts); ?> <td><?php echo $ymd ?></td> <?php // 部屋ごとの予約表示 $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $roomid = $row["roomid"]; $roomname = cnv_dispstr($row["roomname"]); $link = $_SERVER["PHP_SELF"]. "?act=upd&hiduke=".$ymd."&roomid=".$roomid; ?> <td><a href="<?php echo $link?>"> <?php echo yoyakuchk($ymd,$roomid) ?></a></td> <?php } ?> </tr> <?php } ?> </table> ------------------------------------------------ 調べたところ $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) { $days = date("d", mktime(0, 0, 0, $mm, $i, $yyyy)); $first_day = date('w', mktime(0, 0, 0, $mm, 1, $yyyy)); $last_day = date('w', mktime(0, 0, 0, $mm, $days, $yyyy)); } $last_week_days = ($days + $first_day) % 7; if ($last_week_days == 0){ $weeks = ($days + $first_day) / 7; }else{ $weeks = ceil(($days + $first_day) / 7); } 今月の日数、最初の日、最後の日の曜日、最後の週の曜日を得ればいいんだろうというところまでは分かったんですが、どう書き換えていいかわかりません。どなたか参考となるソースをご指南頂けると、とても助かります。

    • ベストアンサー
    • PHP
  • 日付取得、計算及び表示コードが動作しません。

    日付取得、計算及び表示コードが動作しません。 下記のコードのどこが間違っているのか、どなたかお分かりですか? このコードでは、今日の日付をサーバから取得し、それから10日後の日付を計算して表示したいです。 $currentdate = .getdate(); $yyyy = $currentdate["year"]; $mm = $currentdate["mon"]; $dd = $currentdate["mday"]; $int_day = 10; $duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); echo "$duedate" また、上記のコードが動作するようになったとして、表示される日付は「2008/06/10」のようになるかと思いますが、これを「2008年06月10日」のように表示させる方法をご存知でしょうか? >$duedate = .date("y/m/d", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); 上記コードを下記のように変更してもだめです。 >$duedate = .date("y年m月d日", mktime(0, 0, 0, $mm, $dd+$int_day, $yyyy)); よろしくお願いします。

    • ベストアンサー
    • PHP
  • 縦カレンダーの曜日に色づけ

    <?php $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) ?> <tr> <?php  $ts = mktime(0, 0, 0, $mm, $i, $yyyy);  $ymd = date("Y/m/d", $ts);  $ymdstr = strftime("%Y年%m月%d日(%a)", $ts); ?> <td><?php echo $ymd ?></td> <?php //曜日表示  $_m =$m;  $dd = $i;  $aday = array("日", "月", "火", "水", "木", "金", "土"); while( $m==$_m ){ printf("<td><center>%s</center></td>", $aday[date("w", $ts)]); $d++; //次の日の月を$_mに代入 $_m = date("m",$ts); } ?> 日付の部分を"switch文"を使って書きたいのですが、わからずに苦労しています。教えてもらえると助かります。よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPのカレンダーに曜日をつけられづに困っています。

    <?php // 日付 if (!isset($hiduke)) { $hiduke = date("Y-m-d"); } if (!isset($yyyy)) { $yyyy = date("Y", strtotime($hiduke)); } if (!isset($mm)) { $mm = date("m", strtotime($hiduke)); } if (!isset($dd)) { $dd = date("d", strtotime($hiduke)); } // 表示ページ if (isset($_GET["act"])) { $act = $_GET["act"]; } if (!isset($act)) { $act = ""; } // ================================================= //  処理開始 ?> <?php conndb();?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>予約システム</title> </head> <body> <h2>予約システム</h2> <?php // -- ページ内容の表示 switch ($act) { case "upd": // 更新 gamen_upd(); break; case "updconf": // 更新確認 gamen_updconf(); break; case "delconf": // 削除確認 gamen_delconf(); break; case "det": // 詳細表示 gamen_detail(); break; default: gamen_iti(); } ?> </body> </html> <?php closedb(); ?> <?php // ================================================= // ----- 一覧表示画面 function gamen_iti() { global $conn; global $hiduke; global $yyyy; //年 global $mm; //月 $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); if (isset($kbn)) { if ($kbn == "upd" or $kbn == "del") { update_yoyaku($kbn); } } $sql = "SELECT * FROM jikan ORDER BY timeid"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td><?php setmonth(); ?></td> <td><input type="submit" name="sub" value="予約表示"></td> </tr> </table> <input type="hidden" name="act" value="iti"> <input type="hidden" name="kbn" value="go"> </form> <p><?php echo date("Y 年 m 月 ", mktime(0, 0, 0, $mm, 1, $yyyy)) ?>予約一覧 <table border="1"> <tr bgcolor="#ffd700"> <td>日付</td> <?php // 時間表示 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $timeid = $row["timeid"]; $jikan = cnv_dispstr($row["jikan"]); ?> <td><?php echo $jikan ?></td> <?php } ?> </tr> <?php //カレンダー $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) { ?> <tr> <?php $ts = mktime(0, 0, 0, $mm, $i, $yyyy); $ymd = date("Y/m/d" ,$ts) ; $ymdstr = strftime("%Y年%m月%d日(%a)", $ts); ?> <td><?php echo $ymd ?></td> <?php   <?php } ?> </table> <?php } // ================================================= // ----- 年月選択リスト表示 function setmonth() { global $yyyy; global $mm; $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); echo "<table><tr><td>"; // 年 echo "<select name=\"yyyy\">"; for ($i = 2008; $i <= 2025; $i++) { echo "<option"; if ($i == $yyyy) { echo " selected "; } echo ">$i"; } echo "</select>年"; // 月 echo "<select name=\"mm\">"; for ($i = 1; $i <= 12; $i++) { echo "<option"; if ($i == $mm) { echo " selected "; } echo ">$i"; } echo "</select>月"; echo "</td>"; echo "</tr></table>"; } ?> と参考書を見ながら、作っています。 PHPはまったくの初心者です。カレンダーの日付に曜日をつけられづに困っています。コードを含め詳しくをしえてもらえると助かります。よろしくお願いします。

    • 締切済み
    • PHP
  • 万年カレンダーについて

    万年カレンダーについて質問します。例えば、11月10日(月)が休みとした場合に11月10日(月)セルの背景を赤色にする方法を教えて下さい。下記のプログラムに加える記述方法を教えて下さい。 <?php if($_GET['num']==''){ $today_year =date("Y"); $today_month=date("n"); }else{ $timestamp=mktime(0,0,0,date("n")+$_GET['num'],date("d"),date("Y")); $today_year =date("Y",$timestamp); $today_month=date("n",$timestamp); } $current=mktime(0,0,0,$today_month,1,$today_year); $first_day=date("w",$current); $last_day=date("t",$current); ?> <html> <head> <title>万年カレンダ</title> </head> <body> <h1 style="background:#cccccc"> <?php print(date("Y年m月",$current)); ?>のカレンダ</h1> <table border="1" width="300"> <tr> <th>日</th><th>月</th><th>火</th><th>水</th> <th>木</th><th>金</th><th>土</th> </tr> <?php for($i=1;$i<=$first_day+$last_day;$i++){ if($i%7==1){print("<tr>"); } if($i>$first_day){ print("<td>".($i-$first_day)."</td>"); }else{ print("<td>&nbsp;</td>"); } if($i%7==0){print("</tr>");} } ?> </table> </body> </html>

    • ベストアンサー
    • PHP
  • PHPでカレンダー

    PHPを使ってカレンダーを作成しました。が、コードの意味が良く分かりません。 コードは以下の通りです。 <?php if($_GET['num']==''){ $today_year = date("Y"); //4桁の西暦年 $today_month = date("n"); //1~12の月 }else{ $timestamp = mktime(0,0,0,date("n")+$_GET['num'],date("d"),date("Y")); $today_year = date("Y",$timestamp); $today_month = date("n",$timestamp); //1~12月 } $current = mktime(0,0,0,$today_month,1,$today_year); $first_day = date("w",$current); //1日の曜日を0~6に当てはめる $last_day= date("t",$current); //月の日数 ?> <html> <head> <title>カンレンダー</title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <h1><?php print (date("Y年m月",$current)); ?>のカレンダー</h1> <table border="1" cellpadding="0" cellspacing="2"> <tr> <th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th> </tr> <?php for($i=1; $i<=$first_day+$last_day; $i++){ if($i%7==1){print ("<tr>");} if($i>$first_day){ print ("<td>".($i-$first_day)."</td>"); }else{ print ("<td>&nbsp;</td>"); } if($i%7==0){print ("</tr>");} } ?> </table> </body> </html> for以降の部分が良く分かりません。よろしくお願いします。※上記のスクリプトで正しく表示されることは確認済です。

    • 締切済み
    • PHP
  • テーブルデータ表示後、再表示の方法

    初めて質問させて頂きます。うまく言葉に出来てないかもしれませんがよろしくお願い致します。 現在スケジュール管理をPHPとSqliteで作成しています。 yotei.phpでDBのデータを表示(HTMLのTABLE)し、予定の追加・更新をする場合は該当の日付をクリックするとrequire_onceでtoroku.phpを読込ます。toroku.phpでは更新処理か新規登録かを確認し、<form action="add.php?id='.$id.'&ymd='.$ymd.'" method="POST">にて登録・削除・リセットの各ボタンにあわせてのDB処理を行っています。 <?php session_start(); $link = sqlite_open('yotei.db', 0666, $sqliteerror); ?> ~一部省略~ <TABLE BORDER=1 WIDTH="100%" CELLPADDING="2" CELLSPACING="0"> <TBODY><TR> <TD>日付</TD> <TD>曜日</TD> <TD>予定時間</TD> <TD>作業内容</TD></TR> <?php //データ表示 $ymd = date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)); $i = 0; while ($ymd <= $to_date) { $sql = "SELECT * FROM timetbl where (id=$sid and ymd=$ymd)"; $result = sqlite_query($link, $sql, SQLITE_BOTH); if ($rows = sqlite_fetch_array($result)) { print('<TR>'); print('<TD WIDTH="5%" ALIGN="center" NOWRAP><A href="yotei.php?ymd='.date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)).'">'.date('m/d', mktime(0, 0, 0, $mm, $dd, $yy)).'</A></TD>'); print('<TD WIDTH="5%" ALIGN="center" NOWRAP bgcolor="'.$chk['color'].'">'.$chk['youbi_m'].'</TD>'); ~一部省略~ } else { print('<TR>');    print('<TD WIDTH="5%" ALIGN="center" NOWRAP><A href="yotei.php?ymd='.date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)).'">'.date('m/d', mktime(0, 0, 0, $mm, $dd, $yy)).'</A></TD>'); print('<TD WIDTH="5%" ALIGN="center" NOWRAP bgcolor="'.$chk['color'].'">'.$chk['youbi_m'].'</TD>'); ~一部省略~ print('</TR>'); } $dd = $dd + 1; $ymd = date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)); $i = $i + 1; if ($i > 30) { break; } } ('<TD WIDTH="5%" ALIGN="center"> </TD>'); ~一部省略~ ?> </TBODY></TABLE></DIV> <?php sqlite_close($link); if (!isset($_GET['ymd'])){   PRINT('</BODY>'); PRINT('</HTML>'); exit; } ?> <?php require_once("toroku.php"); ?> </tbody></table></div> toroku.phpでは、該当の日付のDBのデータを読み退避させてyotei.phpと同じ様に1か月分を再表示させてますが、yotei.phpの表示とtoroku.php再表示の表が重なって表示されてしまいます。 申し訳ありませんが、ご教示頂けませんでしょうか?

    • ベストアンサー
    • PHP
  • 日記のPHPにてWarning: mktime()というエラーが出ます

    http://www.kenjiweb.com/ ↑のサイト様のさわやか日記という日記のPHPを使っています。 (※さわやか日記→http://www.kenjiweb.com/?mode=diary#i_diary) それまで全く問題なく使用できていたのですが、10月26日に日記を更新した所 Warning: mktime(): Windows does not support negative values for this function in d:\****\****\php\i_diary\i_diary.php on line 156 (※サーバーのフォルダ名等は****に変更しています。) 上記のエラーが10数個画面に表示されました。 とりあえず該当PHPファイルの153行目からの $yyyy = substr($days,0,4); $mm = substr($days,4,2); $dd = substr($days,6,2); $chkday = mktime(0, 0, 0, $mm, $dd, $yyyy); の部分を $yyyy = substr($days,0,0); $mm = substr($days,0,0); $dd = substr($days,0,0); $chkday = mktime(0, 0, 0, $mm, $dd, $yyyy); 上記のように変更すると、とりあえずエラーは収まりました。 ですがプログラム的な意味が分からないので不安です。 また、以前は日記を書いていない日に日記を表示すると一番新しい日の日記が表示されていたのですが、表示されなくなりました。 サイト様にて同様の質問をしましたが、どうやら更新が停止しているらしく返答をもらえませんでした。 マルチポストになるので一応削除をしてこちらにて質問させて頂きました。 正しい対処法があれば教えて下さい。

    • ベストアンサー
    • PHP

専門家に質問してみよう