作者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
1F:→ kerash:99 行是哪一行 ..? 01/22 20:40
2F:→ kerash:是说最後有没有少复制,还是你是真的打问号?结尾是?>才对 01/22 20:41
3F:→ ohshit:结尾是?> 没复制到 01/22 22:10
4F:推 kerash:$run7 = 1; 之後的 echo 确认看看, 注解一些内容看看会不会 01/22 22:18
5F:→ kerash:有其它讯息出现。另外99行到底是指哪行...? 01/22 22:18
6F:→ ohshit:99行就是最後一行 ?> 01/23 13:03
7F:推 kusoayan:还瞒酷的…没仔细看 code,但是直接让他跑 错误也是出现 01/23 16:52
8F:→ kusoayan:在 最後+1行= = 01/23 16:52
9F:推 kerash:不知道是哪一个地方少了 } ,应该是前面的 $day 01/23 17:00
10F:→ kerash:一般前面那种判断的 if else 我会习惯写成 01/23 17:01
11F:→ kerash:$year = (isset($_GET))?($intval($_GET):date("Y"); 01/23 17:02
12F:→ kerash:这样只要一行就能解决,也不会有 section 的问题 01/23 17:02
13F:→ kerash:$_GET 是我刚刚测试改的= =" 请改用 $_POST 01/23 17:04
14F:→ ohshit:$ymd.这段有问题吗?其实我不太懂 01/23 23:01
15F:推 kerash:大概12行的地方应该要加个 } 来把 if else 包住才对 01/23 23:57