这可能是一个简单的答案,但我一直无法理解它。
我有以下数组:
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)将再次具有灰色背景。
如果有人能指出我正确的方向,那将非常感激。
提前致谢!
答案 0 :(得分: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.
}
答案 1 :(得分:1)
您可以创建一个将meeting_grouping
映射到相应颜色的数组,例如:
$colours = array(
1 => 'grey',
4 => 'white',
6 => 'grey'
);
然后当您遍历数组echo $colours[$meeting_grouping_var];
时(其中$meeting_grouping_var
是当前meeting_grouping
值)。