我有一个简单的数组,以前使用过没有任何问题。现在我正在尝试再次使用它并且它不显示任何文本(即使在视图源中)。
阵列:
$month = Array(
1 => "January",
2 => "February",
3 => "March",
4 => "April",
5 => "May",
6 => "June",
7 => "July",
8 => "August",
9 => "September",
10 => "October",
11 => "November",
12 => "December"
);
代码:
function getMonthlyStats($comic_id) {
require "config.php";
$query = 'SELECT *, SUM(views) AS `views` FROM '.$db_tbl_stats.' WHERE '.$db_fld_stats_comic_id.'="'.$comic_id.'" GROUP BY '.$db_fld_stats_month.' ASC';
$r_query = mysql_query($query);
while ($result = mysql_fetch_array($r_query)) {
$percent = ($result[$db_fld_stats_views]/getTotalStats($comic_id))*100;
$m = number_format($result['month']);
echo '<tr>';
echo '<td width="100"> ';
echo $month[$m];
echo '</td>';
echo '<td width="400" class="bar"><div style="width: '.$percent.'%"></div>'.$result[$db_fld_stats_views].' Views</td>';
echo '<td>'.number_format($percent).'%</td>';
echo '</tr>';
}
}
$ m返回1-12的数字,显然代表一个月。
如果您需要更多信息,我将很乐意解释更多信息。任何帮助是极大的赞赏!写了4个小时,我的眼睛累了。
答案 0 :(得分:1)
您需要在功能中添加global $month;
,或使用$GLOBALS['month']
代替$month
。
这称为“变量范围”。有关详细信息,请参阅http://php.net/manual/en/language.variables.scope.php。