我正在尝试按David Walsh调整日历脚本。在David的脚本中显示月度日历,第一周它在月份开始前显示空白,但是评论者说您可以使用以下代码显示上个月的日期,即28 20 30,具体取决于每月的第一天何时下降
我不会重复链接到的脚本中的所有代码,但主要的是替换代码显示我以前从未见过的符号.., 30 。 (我从他的来源复制了这些符号。他们是在PD之上说FF的正方形。)。这是代码。注意$ x,$ running_day和$ daysInThisWeek只是数字。 $ calendar得到了回应。
//following prints out empty table cells
for($x = 0; $x < $running_day; $x++):
$calendar.= '<td class="calendar-day-np"> </td>';
$days_in_this_week++;
endfor;
echo $calendar;
//接下来,回声,打印出奇怪的符号:
$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));
然后当你如上所述循环时,会得到一大堆奇怪的符号。
for($x = 0; $x < $running_day; $x++): //this line is same as above
$calendar.= ' . ( ( $daysInLastMonth – ( $runningDay – 1 ) ) + $x ). ';
$daysInThisWeek++;
endfor;
echo $calendar;
有谁知道可能会发生什么,奇怪的符号是什么意思以及如何正确显示它。
感谢您的任何建议!
答案 0 :(得分:2)
启用所有错误,您会看到错误的引号。错误就像是
注意:使用未定义的常量't' - 假设''t''
这一行
$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));
必须是
$daysInLastMonth = date('t',mktime(0,0,0,$month-1,1,$year));
答案 1 :(得分:2)
有一个错误:
$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));
应该是:
$daysInLastMonth = date('t',mktime(0,0,0,$month-1,1,$year));
要注意这种错误,你必须打开错误:
error_reporting(E_ALL);
有关PHP错误的更多信息,请参见:http://php.net/manual/en/function.error-reporting.php
关于字符似乎是一个编码问题:
这些链接可以帮助您:
http://www.php.net/manual/en/ini.core.php#ini.default-charset