[請益] 顯示指定的日曆練習

看板PHP作者 (DJ歐雪特)時間12年前 (2012/01/22 20:06), 編輯推噓4(4011)
留言15則, 3人參與, 最新討論串1/1
不好意思,php新手在此跟各位拜個年 今年我希望我的php能更上層樓 首先我練習的題目是做個簡單能顯示我要日期的日曆 模仿是練習的第一步 我從網路上找到的各種calendar code 去拼裝 執行後只得到 Parse error: syntax error, unexpected $end in D:\xampplite\htdocs\1-1.php on li ne 99 意思是說我整個都寫錯了?? 可否有人可指點迷津 <?php if (isset($_POST["year"])){ $year=intval($_POST["year"]); }else{ $year = date("Y"); } if (isset($_POST["month"])){ $month=intval($_POST["month"]); }else{ $month = date("m"); $day = date("d"); //年月的選擇清單 $ymd.="<table><tr><td>"; $ymd.="<select name=\"year\">"; for($i=2009;$i<=2011;$i++){ if ($i==$year){ $ymd.="<option selected value='$i'>$i</option>"; }else{ $ymd.="<option value='$i'>$i</option>"; } } $ymd.="</select>年"; $ymd.="<select name=\"month\">"; for($i=1;$i<=12;$i++){ if ($i==$month){ $ymd.="<option selected value='$i'>$i</option>"; }else{ $ymd.="<option value='$i'>$i</option>"; } } $ymd.="</select>月"; //本月最後一天 $lastday = date("d",mktime (0,0,0,$month+1,0,$year)); //本月第一天星期幾 $firstweek = date("D",mktime (0,0,0,$month,1,$year)); //上個月最後一天 $last_month_day = date("d",mktime (0,0,0,$month,0,$year)); $week["Sun"] = 0; $week["Mon"] = 1; $week["Tue"] = 2; $week["Wed"] = 3; $week["Thu"] = 4; $week["Fri"] = 5; $week["Sat"] = 6; $first_day = $week[$firstweek]; $next_month_day =1; $run7 = 1; echo "<table> <tr> <td><input type='button' value='<' name='previousbutton' ></td> <td colspan=7 align=center><b>{$year}-{$month}</b></td> <td><input type='button' value='>' name='nextbutton'></td>> </tr> <tr> <td>Sun</td> <td>Mon</td> <td>Tue</td> <td>Wed</td> <td>Thu</td> <td>Fri</td> <td>Sat</td> </tr>"; for( $i=0 ; $i<35 ; $i++ ){ if($run7%7 ==1 ){ echo "<tr>"; } if( $i<$first_day ){ $color = "#666666"; $days = $lastday-($first_day-$i-1); }else if($i<=$lastday+1){ $color = "#0000CC"; $days = $i-$first_day+1; } else{ $color = "#666666"; $days = $next_month_day; $next_month_day++; } echo "<td align=center><font color={$color}>{$days}</font></td>\n"; if($run7%7 ==0 ){ echo "</tr>\n"; $run7 = 1; }else{ $run7++; } } echo "</table>"; ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.209.207

01/22 20:40, , 1F
99 行是哪一行 ..?
01/22 20:40, 1F

01/22 20:41, , 2F
是說最後有沒有少複製,還是你是真的打問號?結尾是?>才對
01/22 20:41, 2F

01/22 22:10, , 3F
結尾是?> 沒複製到
01/22 22:10, 3F

01/22 22:18, , 4F
$run7 = 1; 之後的 echo 確認看看, 註解一些內容看看會不會
01/22 22:18, 4F

01/22 22:18, , 5F
有其它訊息出現。另外99行到底是指哪行...?
01/22 22:18, 5F

01/23 13:03, , 6F
99行就是最後一行 ?>
01/23 13:03, 6F

01/23 16:52, , 7F
還瞞酷的…沒仔細看 code,但是直接讓他跑 錯誤也是出現
01/23 16:52, 7F

01/23 16:52, , 8F
在 最後+1行= =
01/23 16:52, 8F

01/23 17:00, , 9F
不知道是哪一個地方少了 } ,應該是前面的 $day
01/23 17:00, 9F

01/23 17:01, , 10F
一般前面那種判斷的 if else 我會習慣寫成
01/23 17:01, 10F

01/23 17:02, , 11F
$year = (isset($_GET))?($intval($_GET):date("Y");
01/23 17:02, 11F

01/23 17:02, , 12F
這樣只要一行就能解決,也不會有 section 的問題
01/23 17:02, 12F

01/23 17:04, , 13F
$_GET 是我剛剛測試改的= =" 請改用 $_POST
01/23 17:04, 13F

01/23 23:01, , 14F
$ymd.這段有問題嗎?其實我不太懂
01/23 23:01, 14F

01/23 23:57, , 15F
大概12行的地方應該要加個 } 來把 if else 包住才對
01/23 23:57, 15F
文章代碼(AID): #1F6_lDpW (PHP)