0

データベースから情報を取得して表に表示するページがあります。機能しますが、非常に面倒です。

//Table header here
echo "<tr><td>".$teamname."</td>";

//For Gameweek 7
if ($gw7 == "") 
{ 
    //The team has no game - highlight the cell in red
    echo "<td align='center' style='background: #FF0000'>"; 
}
    elseif (strpos($gw7,'/') !== false) 
{ 
    //The team has 2 games this week - highlight it in green
    echo "<td align='center' style='background: #00FF00'>"; 
}
else
{
    //this means the team has a single game this week - normal cell.
    echo "<td align='center'>";
}
echo $gw7."</td>";
echo "</tr>";

//for gameweek 8 to 36, the above for loop is just repeated (mostly copy/pasted)

//Table footer here

それを行うよりクリーンな方法はありますか?同じコードを何度もコピーして貼り付けるのは好きではありません。

gameweeks は 、 、 などと呼ばれ$gw7$gw8チーム$gw9$gw10直面している対戦相手がテキスト形式で含まれています。$gw7 の 7 は、今シーズンの第 7 セットのゲームを表します。それらはゲームウィークにグループ化されます。これが明確でない場合はお知らせください。

4

3 に答える 3

1

このような関数を作成します

function gw($week) {
    //For Gameweek 7
    if ($week == "") 
    { 
        //The team has no game - highlight the cell in red
        echo "<td align='center' style='background: #FF0000'>"; 
    }
    elseif (strpos($week,'/') !== false) 
    { 
        //The team has 2 games this week - highlight it in green
        echo "<td align='center' style='background: #00FF00'>"; 
    }
    else
    {
        //this means the team has a single game this week - normal cell.
        echo "<td align='center'>";
    }
    echo $week."</td>";
}

//Table header here
echo "<tr><td>".$teamname."</td>";
gw($gw7); // call here function for $gw7 for others as well
echo "</tr>";
于 2013-04-12T03:56:39.297 に答える
0

gameweeks を配列に入れ、反復して、配列インデックスが 6 を超えるカスタム コードを呼び出します。

function table_cell($color) {
    echo "<td align='center' style='background: $color'>"; 
}

//Table header here
echo "<tr><td>".$teamname."</td>";

//For Gameweek 7
if ($gw7 == "") 
{ 
    table_cell('#FF0000');
    //The team has no game - highlight the cell in red

}
    elseif (strpos($gw7,'/') !== false) 
{ 
    table_cell('#00FF00');
    //The team has 2 games this week - highlight it in green
}
else
{
    //this means the team has a single game this week - normal cell.
    echo "<td align='center'>";
}
echo $gw7."</td>";
echo "</tr>";
于 2013-04-12T03:56:41.327 に答える