0

我的页面上有一个带有周数的选择,当我选择一个周数时,表格标题会更改为该特定周的天数。当我想再次显示整个月(通过在周选择中选择默认值)时,标题由于某种原因不会改变。这是我的代码:

function TableHeader($week, $month, $year){     
    if($week != "default")
    {
        for($i=1; $i<=7; $i++) 
        {
             $Datum = date('d', strtotime($year."W".$week.$i))."\n";
             echo "<th scope='col' id='CalendarTableHeader' style='text-align:center;'>".$Datum."</th>";
        }
    }
    else
    {
        for($i = 1; $i <= $numDays; $i++) 
            {
             echo "<th scope='col' id='CalendarTableHeader' style='text-align:center;'>".$i."</th>";
            }
    }
}

涉及的其他代码部分:

$numDays = monthDays($month, $year);

MonthDays 函数(工作)

function monthDays($month, $year) {
    return date("t", strtotime($year . "-" . $month . "-01"));
}//

我调用函数的部分(工作)

if(isset($_GET['week'])){
    $week = $_GET['week'];
    TableHeader($week, $month, $year);
}

我的问题的奇怪部分是,当我从 else 子句中删除这部分代码时:

for($i = 1; $i <= $numDays; $i++) 
{
    echo "<th scope='col' id='CalendarTableHeader' style='text-align:center;'>".$i."</th>";
}

它本身就可以正常工作..我希望你能帮助我。

4

1 回答 1

2
for($i = 1; $i <= $numDays; $i++) 
{
   echo "<th scope='col' id='CalendarTableHeader' style='text-align:center;'>".$i."</th>";
}

我没有在你的函数中找到$numDays变量。TableHeader

function TableHeader($week, $month, $year, $numDays) {
  // Your code here
}

我认为应该是

$numDays = monthDays($month, $year);
if(isset($_GET['week'])){
    $week = $_GET['week'];
    TableHeader($week, $month, $year, $numDays);
}
于 2013-08-05T12:31:07.000 回答