• 締切済み

週だけのカレンダーを作成する方法

週だけのカレンダーを作成しています。 1~31日までのカレンダーは作成できるのですが、その週だけのカレンダーを作成する方法が分かりません。どなたか週だけのソースを教えていただけるとありがたいです。 ■因みに1~31日までのカレンダーのソース Sub Gamen_cal( ) if kbn = "edi" or kbn = "del" then Call Update_sche end if %> <form method="POST" action="sche.asp"> <table border="1"> <tr> <td><% Call SetMonth %></td> <td><input type="Submit" name="sub" value="表示"></td> </tr> </table> <input type="hidden" name="act" value="cal"> <input type="hidden" name="kbn" value="go"> </form> <p><% =year(hiduke) %>年<% =month(hiduke) %>月 <table border="1"> <tr> <td bgcolor="#FFD700">日</td> <td bgcolor="#FFD700">月</td> <td bgcolor="#FFD700">火</td> <td bgcolor="#FFD700">水</td> <td bgcolor="#FFD700">木</td> <td bgcolor="#FFD700">金</td> <td bgcolor="#FFD700">土</td> </tr> <% Dim i,j,wd,nextmonth,matsubi wd = Weekday(DateSerial(year(hiduke), month(hiduke), 1)) nextmonth=DateAdd("m", 1, hiduke) matsubi=Day(DateSerial(year(nextmonth), month(nextmonth), 1 - 1)) For i = 0 to 5 if d >= matsubi then Exit For %> <tr> <% Dim d,ymd For j = 0 to 6 d = (i * 7) + j - wd + 2 ymd = DateSerial(year(hiduke), month(hiduke), d) %> <% if d > 0 and d <= matsubi then %> <td><a href="sche.asp?act=edi&hiduke=<% = ymd %>"> <% if yoteichk(ymd) = "OK" then Response.Write "●" %> <% = d %></a></td> <% else %> <td> </td> <% end if %> <% Next %> </tr> <% Next %> </table> <% End Sub ------------------------------------------------------------- ■週だけの場合どのようなソースになるのでしょうか?

noname#71395
noname#71395

みんなの回答

回答No.1

仕事ですか?それとも趣味ですか?どちらにせよ、自分で考えて作った方がいいと思いますよ。 ちなみに、ASP.NETで適当に作ってみました。 <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim [today] As DateTime = DateTime.Today Dim oneDay As DateTime = [today].AddDays(-[today].DayOfWeek) Dim builder As New StringBuilder() For ii As Integer = 0 To 6 Step 1 builder.Append(oneDay.AddDays(ii).Day) builder.Append(" "c) Next Literal1.Text = builder.ToString() End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>週だけのカレンダー</title> </head> <body> <form id="form1" runat="server"> <asp:Literal ID="Literal1" runat="server"></asp:Literal> </form> </body> </html>

関連するQ&A

  • 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
  • GETを使わずにPOSTで送信…したいのですが。

    いつもお世話になっております。 また教えて欲しい事がありまして、投稿させて頂きました。 どなた様かご教授宜しくお願い致します。 今現在、GETを使ってのデータ送信は行える用にはなっているのですが、色々調べていった結果GET送信では様々な危険性(POST送信でも 危険性があるのは変わりないみたいですが…)が伴うという事 でしたので、どうにかPOST送信に変更したいと思っています。 今後、更なる重要なデータを送るようなプログラムを書いていく際に 役立てていけるようになればと思っています。 以下ソースです。 ↓↓↓↓ <html> <head> <meta http-tquiv="Content-Type" content="text/html;charset=EUC-JP"> <title>calendar</title> </head> <body> <form name="form1" action="yotei.php" method="post"> <?php  $year = date("Y");  $month = date("n");  $day = date("j");  $year2=$_GET["year"];  $month2=$_GET["month"];  $day2=$_GET["day"]; //先月、来月をクリックした場合の処理  if($year2!="" || $month2!="" || $day2!="") {   if($year2!="") {    $year = $year2;   }   if($month2!="") {    $month = $month2;   }   if($day2!="") {    $day = $day2;   }else {    $day = 1;   }  } // カレンダー表示(先月の場合)  if($month==1) {   $year3 = $year-1;   $month3 = 12;  }else {   $year3 = $year;   $month3 = $month-1;  } // カレンダー表示(来月の場合)  if($month==12) {   $year4 = $year+1;   $month4 = 1;  }else {   $year4 = $year;   $month4 = $month+1;  }  print "<table border='1' align='center'><tr>"; print "<td width='250' align='center' bgcolor='yellowgreen' colspan='7'>"; print "<a href=\"?year=$year3&month=$month3\"><</a>"; print " ".$year."年".$month."月のカレンダー "; print "<a href=\"?year=$year4&month=$month4\">></a></td></tr>"; print "<tr><td align='center' bgcolor='pink'>日</td>"; print "<td align='center' bgcolor='silver'>月</td>"; print "<td align='center' bgcolor='silver'>火</td>"; print "<td align='center' bgcolor='silver'>水</td>"; print "<td align='center' bgcolor='silver'>木</td>"; print "<td align='center' bgcolor='silver'>金</td>"; print "<td align='center' bgcolor='skyblue'>土</td></tr>"; $week = date(w,mktime(0,0,0,$month,1,$year)); for ($ix1 = 0 ; $ix1 < $week ; $ix1++) { print "<td align='center'>-</td>"; } // ファイルの読み込み $data = './data.CSV'; $file = fopen($data,"r"); while(!feof($file)){ $csv = fgets($file); $csv = mb_convert_encoding($csv, "EUC-JP", "SHIFT-JIS"); //csvファイルを配列に格納 $str = explode(",", $csv); for($day = 1 ; checkdate ($month,$day,$year) ; $day++) { if($str[1] == "$year/$month/$day") { $ymd[] = $str[1]; $all[] = "<br>予定=$str[0] <br>開始日=$str[1] <br>終了日=$str[2] <br>"; } } } if(($day+$week)%7 == 1 ) { print "bgcolor='pink'><font color='red'>"; }else if(($day+$week)%7 == 0 ) { print "bgcolor='skyblue'><font color='blue'>"; }else { print "bgcolor='wheat'>"; } $enc = ''; for($i=0 ; $i<count($ymd) ; $i++) { if($ymd[$i] == "$year/$month/$day") { $enc = $enc.urlencode($all[$i]); print "<a href=yotei.php?yotei=$enc>"; } } print "$day</a></td>"; if(($day+$week)%7 == 0 ) { print "</tr>"; } } fclose($file); $weekend = date(w,mktime(0,0,0,$month,$day,$year)); for ($ix2=0 ; $ix2<(7-$weekend) ; $ix2++) { if ($weekend != 0) { print "<td align='center'>-</td>"; } } print "</tr>"; print "</table>"; ?> <table border='0' align='center'> <tr> <td width="250"> <div align="center"> <input type="button" value="戻る" onClick="location.href='data.php'" name="button"> </div> </td> </tr> </table> <br><br> </form> </body> </html>

    • ベストアンサー
    • PHP
  • 該当日のスケジュール内容を別ウィンドウで表示したいのですが…。

    初めて質問させて頂きます。 プログラム初心者です。 今、課題でカレンダー作成(予定を表示させる)をしています。 現在の時点でカレンダーの指定日(予定のある日)にリンクをつけるところまでは出来たのですが、リンク先に移動した際に該当日の予定を表示させるのが出来なくて困っています。 (予定はCSVファイルからuploadしています。) どなたかお力を貸して頂けませんでしょうか??…orz。 宜しくお願いします。 ソースはこちらです。 …読みにくくてすみません(泣 <html> <head> <meta http-tquiv="Content-Type" content="text/html;charset=EUC-JP"> <title>カレンダー</title> </head> <form name="skl" method="post" action="yotei.php"> <body> <?php  $year = date("Y");  $month = date("n");  $day = date("j");  $year2=$_GET["year"];  $month2=$_GET["month"];  $day2=$_GET["day"]; //先月、来月をクリックした場合の処理  if($year2!="" || $month2!="" || $day2!="") {   if($year2!="") {    $year = $year2;   }   if($month2!="") {    $month = $month2;   }   if($day2!="") {    $day = $day2;   }else {    $day = 1;   }  } // カレンダー表示(先月の場合)  if($month==1) {   $year3 = $year-1;   $month3 = 12;  }else {   $year3 = $year;   $month3 = $month-1;  } // カレンダー表示(来月の場合)  if($month==12) {   $year4 = $year+1;   $month4 = 1;  }else {   $year4 = $year;   $month4 = $month+1;  } // テーブルの作成  print "<tableborder='1'><tr>";  print "<td width='250' align='center' bgcolor='yellowgreen' colspan='7'>";  print "<a href=\"?year=$year3&month=$month3\"><<</a>";  print " ".$year."年".$month."月のカレンダー ";  print "<a href=\"?year=$year4&month=$month4\">>></a></td></tr>";  print "<tr><td align='center' bgcolor='pink'>日</td>";  print "<td align='center' bgcolor='silver'>月</td>";  print "<td align='center' bgcolor='silver'>火</td>";  print "<td align='center' bgcolor='silver'>水</td>";  print "<td align='center' bgcolor='silver'>木</td>";  print "<td align='center' bgcolor='silver'>金</td>";  print "<td align='center' bgcolor='skyblue'>土</td></tr>";  $week = date(w,mktime(0,0,0,$month,1,$year));  for ($ix1 = 0 ; $ix1 < $week ; $ix1++) {   print "<td align='center'>-</td>";  } // ファイルの読み込み  $data = "date- data.CSV";  $file = fopen($data,"r");  while(!feof($file)){   $csv = fgets($file);   $csv = mb_convert_encoding($csv, "EUC-JP", "SHIFT-JIS"); //csvファイルを配列に格納   $str = explode(",", $csv);   for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {    if($str[1] == "$year/$month/$day") {     $ymd[] = $str[1];    }   }  }  for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {   print "<td align='center'";   if(($day+$week)%7 == 1 ) {    print "bgcolor='pink'><font color='red'>";   }else if(($day+$week)%7 == 0 ) {    print "bgcolor='skyblue'><font color='blue'>";   }else {    print "bgcolor='wheat'>";   }   for($i=0 ; $i<count($ymd) ; $i++) {    if($ymd[$i] == "$year/$month/$day") {     print "<a href=yotei.php>";    }   }   print "$day</td>";   if(($day+$week)%7 == 0 ) {    print "</tr>";   }  }  fclose($file);  $weekend = date(w,mktime(0,0,0,$month,$day,$year));  for ($ix2=0 ; $ix2<(7-$weekend) ; $ix2++) {   if ($weekend != 0) {    print "<td align='center'>-</td>";   }  }  print "</tr>";  print "</table>"; ?> <table border='0'> <tr> <td width="250"> <div align="center"> <input type="button" value="ファイル参照画面へ戻る" onClick="location.href='upload.php'" name="button"> </div> </td> </tr> </table> <br><br> </body> </form> </html>

    • 締切済み
    • PHP
  • PHPによるカレンダーについて

    PHPでカレンダーを作成しています。 プルダウンで年月を指定し、更新ボタンを押せば、指定した年月のカレンダーを表示させたいのですが、うまくいきません。 更新ボタンを押してもカレンダーが変わらないです。 KOMOカレンダーというサイトを参考にして、文字コードを変えただけです。 教えてくださる方がいらっしゃいましたら宜しくお願いいたします。 <?php $last_year = 2037; $wday_color = "#000000"; $sat_color = "#0000ff"; $sun_color = "#ff0000"; $reg_color = "#ffccff"; $year = (!isset($year)) ? date("Y") : $year; $month = (!isset($month)) ? date("n") : $month; ?> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE>カレンダー</TITLE> </HEAD> <BODY> <P><FONT SIZE="6" COLOR="#006600">カレンダー</FONT></P> <P> <TABLE BORDER="1"CELLSPACING="1" CELLPADDING="1"> <TR> <TD COLSPAN="7"> <SELECT NAME="year"> <?php for($i = 2002; $i <= $last_year; $i++){ echo "<option value=".$i.(($i == $year) ? ' selected':'').">".$i."年\n"; } ?> </SELECT> <SELECT NAME="month"> <?php for($i = 1; $i <= 12; $i++){ echo "<option value=" . $i . (($i == $month) ? ' selected':'').">".$i."月\n"; } ?> </SELECT> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="更新"></TD> </TR> <TR> <TD> <P ALIGN="CENTER"><FONT COLOR="red">日</FONT> </TD> <TD> <P ALIGN="CENTER">月 </TD> <TD> <P ALIGN="CENTER">火 </TD> <TD> <P ALIGN="CENTER">水 </TD> <TD> <P ALIGN="CENTER">木 </TD> <TD> <P ALIGN="CENTER">金 </TD> <TD> <P ALIGN="CENTER"><FONT COLOR="blue">土</FONT> </TD> </TR> <?php $time = mktime(0, 0, 0, $month, 1, $year); $day_of_first = date("w", $time); $date_of_month = date("t", $time); $week_of_month = ceil($date_of_month / 7); if(($date_of_month % 7 > 7 - $day_of_first) || ($date_of_month % 7 == 0 && $day_of_first != 0)){ $week_of_month++; } for($i = 1; $i <= $week_of_month * 7; $i++){ if($i % 7 == 1){ echo "<tr>"; } if(($i - 1 < $day_of_first) || ($i > $date_of_month + $day_of_first)){ echo "<td>&nbsp;</td>"; }else{ if($i % 7 == 1){ $color = $sun_color; }elseif($i % 7 == 0){ $color = $sat_color; }else{ $color = $wday_color; } echo "<td width=30 height=30 align=right valign=top>"; echo "<font color=" . $color . ">"; echo $i - $day_of_first; echo "</font></td>"; } if($i % 7 == 0){ echo "</tr>\n"; } } ?> </TABLE> </FORM> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • カレンダーについて教えてください。

    phpでカレンダーを作っているのですが休日を設定したい場合 の方法がわかりません。 for文で日にちを表示させているのですが休日設定の配列の値を どのように参照すればいいかで悩んでおります。 // 現在の日付を取得 $year = date("Y"); $month = date("n"); $today = date("j"); // 休日を設定 $holyday = array('1', '5', '12', '28'); // カレンダー始まり echo "<table width='200' height='182' border='0'><tr><td valign='top'>"; echo "<table border ='0' bgcolor='#cccccc' cellspacing='1' cellpadding='3' width='170'><tr>\n"; echo "<td colspan='7' bgcolor='white' align='center' style='font-size:12px;font-weight:bold;color:#6666ff'>"; echo $year . "年" . $month . "月</td><tr>"; // 曜日表示部分 $weekday = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); for ($i = 0 ; $i < 7 ; $i++) { if ($i == 0 or $i == 6) { echo "<td class='head_" . $i . "'>"; } else { echo "<td class='head'>"; } echo $weekday[$i] . "</td>\n"; } echo "</tr>\n"; // 日数と曜日の計算 $days = cal_days_in_month (CAL_GREGORIAN, $month, $year); $week_start = jddayofweek (cal_to_jd(CAL_GREGORIAN, $month,1, $year) , 0); // 日付が始まる前の空白 for ($dot1 = 0 ; $dot1 < $week_start ; $dot1++) { echo "<td align='center' class='dot'></td>\n"; } // 日付表示部分 for ($day = 1 ; $day <= $days ; $day++) { if (($day+$week_start)%7 == 1) { // 日曜日 echo "<tr>\n<td class='sun'>$day</td>\n"; } else if (($day+$week_start)%7 == 0) { // 土曜日 echo "<td class='sat'>$day</td>\n</tr>\n"; } else if ($day == $today) { // 今日 echo "<td class = 'today'>$day</td>\n"; // ここで休日を表示させるのですが方法がわかりません。 } else if ($day == $holyday[0]) { // 休日 echo "<td class = 'holyday'>$day</td>\n"; } else { // 平日 echo "<td class='othr'>$day</td>\n"; } } // 最終日後の空欄の表示 $wend = 35 - ($days + $week_start); if ($wend < 0) { $wend += 7; } if ($wend == 7) { echo ''; } else if ($wend != 0) { for ($dot2 =0 ; $dot2 < $wend ;$dot2++) { echo "<td align='center' class='dot'></td>\n"; } } // カレンダー終り echo "</tr></table>\n"; echo "</td></tr></table>\n";

    • ベストアンサー
    • PHP
  • カレンダーに値を表示する

    度々お世話になっています。いつも質問ばかりですみません。 カレンダーにその日付にあった値を表示したいと思っています。 テーブル:acclog フィールド:hidukeには2007-01-01などの日付、$urlには数字が入ってます。下記コードの場合、カレンダーが31個(1月分)できて、1個目全ての日に2007-01-01の数、2個目に2007-01-02の数がでます。素人ながら、for($day=1; checkdate($month,$day,$year);$day++){ あたりが原因かと思い、消す・ずらすなどやってみましたが、ダメでした。お手数ですがよろしくご教授下さい。 $y="2007"; $sql = "select * from acclog where hiduke like '$y-01%'"; $result = mysql_query($sql); ( $result, MYSQL_ASSOC ) ) while($rec = mysql_fetch_array( $result, MYSQL_ASSOC )) { foreach ($rec as $k=>$v) { $rec[$k] = mb_convert_encoding($v,'SJIS','EUC-JP'); } $month=substr($rec[hiduke],5,2); $year=substr($rec[hiduke],0,4); $day=substr($rec[hiduke],8,2); $first_day = mktime( 0,0,0,$month,1,$year);//1日(月初)のタイムスタンプから「曜日」を取得 $first_weekday = date("w",$first_day); echo "<table width='450' border='1'>"; ~一部省略 月などの曜日 echo "<tr>"; $weekday = 0; //1日の曜日まで空欄必要 while ($weekday!=$first_weekday) { echo "<td>&nbsp;</td>"; $weekday++; } for($day=1; checkdate($month,$day,$year); $day++){ if($weekday>6){ $weekday=0; echo "</tr>\n<tr>"; } echo "<td align=center>${day}<br>"; echo "$rec[$url]<br>"; echo "</td>"; $weekday++; //曜日をすすめる } } while($weekday<7){ //最後の空欄作成 echo "<td>&nbsp;</td>"; $weekday++; } echo "</table>";

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

    <?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
  • 配列が受け取れないのはなぜなのでしょうか?

    カレンダーの日付にリンクをさせようとしているのですが、上手くできません。 リンクさせたい日付をforeachで配列として渡そうと思うのですが、 受け取ってくれません。 なぜ、受け取ることができないのでしょうか? 何が間違っているのでしょうか。 どなたかご指摘、アドバイスなどお願いします。 以下コードです。 <?php $qry = $_SERVER['QUERY_STRING']; if( ereg( "^[0-9]{8}", $qry ) ){ $today = getdate( mktime( 0, 0, 0, substr( $qry,4,2 ), substr( $qry,6,2 ), substr( $qry,0,4 ) ) ); }else{ $today = getdate(); } $f_today = getdate( mktime( 0, 0, 0, $today[mon], 1, $today[year] ) ); $prev_month = date( "Ymd", mktime( 0, 0, 0, $today[mon], 0, $today[year] ) ); $next_month = date( "Ymd", mktime( 0, 0, 0, $today[mon]+1, 1, $today[year] ) ); <table width=170><tr><td> <table width=100%> <tr><td colspan=7><a href="?<?= $prev_month ?>">≪ </a><?= $today[year] ?>年<?= $today[mon] ?>月 <a href="?<?= $next_month ?>"> ≫</a></td></tr> <tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td></tr> <tr> <?php for ( $i=0; $i<$f_today[wday]; $i++ ) { echo "<td></td>\n"; } $day = 1; while( checkdate( $today[mon], $day, $today[year] ) ){ $link = sprintf( "%4d%02d%02d", $today[year], $today[mon], $day ); if( $link == 20081014 ){ //← 日付を指定※ここが問題の箇所です。 echo "<td><a href=?date=$link\">$day</a></td>\n"; }else{ echo "<td>$day</td>\n"; } if( $f_today[wday] == 6) echo "</tr><tr>"; $day++; $f_today[wday]++; $f_today[wday] = $f_today[wday] % 7; } if( $f_today[wday] > 0 ){ while( $f_today[wday] < 7 ) { echo "<td> </td>\n"; $f_today[wday]++; } } else { echo "<td colspan=7></td>\n"; } ?> </tr> </table> </td></tr></table> 下記のように日付を配列にするとダメです。 $day = 1; //以下を変更 $data = array( "200810005", "200810010", "20081011", "20081015", "20081025", "20081030" ); foreach( $data as $value ) { $val = $value; while( checkdate( $today[mon], $day, $today[year] ) ){ $link = sprintf( "%4d%02d%02d", $today[year], $today[mon], $day ); if( $link == $val ){  // ← 配列で代入※配列として受け取ってくれない。 echo "<td><a href=?date=$link\">$day</a></td>\n"; }else{ echo "<td>$day</td>\n"; } if( $f_today[wday] == 6) echo "</tr><tr>"; $day++; $f_today[wday]++; $f_today[wday] = $f_today[wday] % 7; } } ↑ここまで なぜ、できないのかが分からないので、色々試しても上手くいきません。 宜しくお願いします。

    • ベストアンサー
    • 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
  • ホームページの表の作成について2…

    前回、『ホームページの表の作成について…』という質問をしました。 そして、 <table bgcolor="#000000" cellspacing="1" background="http://radiowind.web.fc2.com/backgroundtable"> <tr> <td bgcolor="#ffffff">あいうえお</td><td bgcolor="#ffffff">かきくけこ</td> </tr> <tr> <td bgcolor="#ffffff">さしすせそ</td><td bgcolor="#ffffff">たちつてと</td> </tr> </table> にしました。 でも、表の背景が表示されません。 どこが間違っているんでしょうか?

専門家に質問してみよう