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 に答える