1

これにはおそらく簡単な答えがありますが、私はそれを理解することができませんでした.

次の配列があります。

Array
(
    [0] => Array
        (
            [meeting_grouping] => 1
            [client_first_name] => Nikolay
        )

    [1] => Array
        (
            [meeting_grouping] => 1
            [client_first_name] => Konstantin
        )

    [2] => Array
        (
            [meeting_grouping] => 1
            [client_first_name] => Andrey
        )

    [3] => Array
        (
            [meeting_grouping] => 4
            [client_first_name] => Eddie
        )

    [4] => Array
        (
            [meeting_grouping] => 4
            [client_first_name] => Neil
        )

    [5] => Array
        (
            [meeting_grouping] => 6
            [client_first_name] => Ian
        )

    [6] => Array
        (
            [meeting_grouping] => 6
            [client_first_name] => Mark
        )
)

私がやりたいことは、このデータを HTML テーブルに出力し、行を色分けすることです。行の色を交互にする方法は知っていますが、この場合は「meeting_grouping」に基づいて色分けする必要があります。つまり、Nikolay、Konstantin、Andrey (meeting_grouping = 1) の背景は灰色になり、Eddie と Neil (meeting_grouping = 4) の背景は白になり、Ian と Mark (meeting_grouping = 6) の背景は再び灰色になります。

誰かが私を正しい方向に向けることができれば、それは大歓迎です。

前もって感謝します!

4

2 に答える 2

2

異なるグループ化に任意のスタイルが必要な場合

HTML テーブルに出力する場合は、グループ化番号を含むクラス名を行に割り当てます。次に、CSS で各グループのスタイルを定義する必要があります。もちろん、新しいグループが表示された場合に備えて、既定のスタイルを使用します。

たとえば、テーブルは次のようになります。

<table>
    <tr class="meeting_grouping1">
        <td>Konstantin</td>
    </tr>
    <tr class="meeting_grouping1">
        <td>Andrey</td>
    </tr>
    <tr class="meeting_grouping4">
        <td>Eddie</td>
    </tr>
    <tr class="meeting_grouping4">
        <td>Neil</td>
    </tr>
    <tr class="meeting_grouping6">
        <td>Ivan</td>
    </tr>
    <tr class="meeting_grouping6">
        <td>Mark</td>
    </tr>
</table>

次に、CSS でスタイルを定義します。

tr td
{
    background-color: white;
}

tr.metting_grouping1 td
{
    background-color: grey;
}

tr.metting_grouping4 td
{
    background-color: white;
}

tr.metting_grouping1 td
{
    background-color: grey;
}

異なるグループに色を交互に使用する必要がある場合

配列を調べてテーブルを準備するときは、前の行の meeting_grouping 値と照合して、同じかどうかを確認します。同じでない場合は、スタイルを交互のものに切り替えます。PHP では、次のようになります。

$use_alternate_style = false;
$previous_grouping = false;

foreach ($meeting_groupings as $entry)
{
    if ($entry['meeting_grouping'] != $previous_grouping)
    {
        // Inverses the alternate style indicator
        $use_alternate_style = !$use_alternate_style;
    }

    // Stores the grouping number for the next cycle
    $previous_grouping = $entry['meeting_grouping'];

    // Depending on whether $use_alternate_style is true or not, you
    // add a class name to the table row and then assign background colors
    // similarly as in the above HTML/CSS example.
}
于 2013-04-25T13:13:37.703 に答える
1

meeting_groupingを対応する色にマッピングする配列を作成できます。

$colours = array(
  1 => 'grey',
  4 => 'white', 
  6 => 'grey'
);

次に、配列を反復するだけです(現在の値はecho $colours[$meeting_grouping_var];どこですか)。$meeting_grouping_varmeeting_grouping

于 2013-04-25T13:02:08.197 に答える