作者ohshit (DJ歐雪特)
看板PHP
標題[請益] 顯示指定的日曆練習
時間Sun Jan 22 20:06:35 2012
不好意思,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
→ kerash:99 行是哪一行 ..? 01/22 20:40
→ kerash:是說最後有沒有少複製,還是你是真的打問號?結尾是?>才對 01/22 20:41
→ ohshit:結尾是?> 沒複製到 01/22 22:10
推 kerash:$run7 = 1; 之後的 echo 確認看看, 註解一些內容看看會不會 01/22 22:18
→ kerash:有其它訊息出現。另外99行到底是指哪行...? 01/22 22:18
→ ohshit:99行就是最後一行 ?> 01/23 13:03
推 kusoayan:還瞞酷的…沒仔細看 code,但是直接讓他跑 錯誤也是出現 01/23 16:52
→ kusoayan:在 最後+1行= = 01/23 16:52
推 kerash:不知道是哪一個地方少了 } ,應該是前面的 $day 01/23 17:00
→ kerash:一般前面那種判斷的 if else 我會習慣寫成 01/23 17:01
→ kerash:$year = (isset($_GET))?($intval($_GET):date("Y"); 01/23 17:02
→ kerash:這樣只要一行就能解決,也不會有 section 的問題 01/23 17:02
→ kerash:$_GET 是我剛剛測試改的= =" 請改用 $_POST 01/23 17:04
→ ohshit:$ymd.這段有問題嗎?其實我不太懂 01/23 23:01
推 kerash:大概12行的地方應該要加個 } 來把 if else 包住才對 01/23 23:57