这是一个简单的逻辑问题,但我有一个心理障碍。我行的分组如下: 分组交替行颜色与变化
注意以下事项:
- 组#1有2条记录
- 组#2有2条
- 组#3有1个记录
- 组#4有2条记录
- 组#5有1条记录
- 组#6有2条
我希望每个组中的每个记录有相同的背景色组中的其他记录,但是从之后的下一个分组不同的背景颜色。所以,我想实现的是:
- 在第1组两个记录应该有一个白色背景颜色。
- 组2中的两条记录都应该有一个灰色背景颜色。
- 组3中的唯一记录应该有白色背景色。
- 组4中的两条记录都应该有一个灰色背景颜色。
...等等。因此,不是每个记录的bgcolor交替显示的典型交替行颜色,我希望每个组的bgcolor交替,而每个组内的颜色保持一致。
我现在的逻辑做到这一点:
if($gameID != $previousGameID)
$rowColor = "#ffffff";
else
$rowColor = "#F0F0F0";
虽然该代码是PHP,这个问题是不是唯一的PHP,它只是一个逻辑问题,这就是为什么我标记用PHP,C#这个问题, JS(我知道的3种语言)。我上面的代码是错误的,因为它导致背景颜色更改为每个记录,而不是为每组记录。每组中的记录具有相同的游戏ID,并且该游戏ID将与所有其他组不同。所以游戏ID是解决这个小难题的关键之一,但我无法解决这个问题。
注意:您不能假定每个分组将具有1个或2个记录。尽管我的例子没有显示,但在极少数情况下,组中会有3条记录(在这种情况下,所有3条记录的游戏ID都相同)。
任何想法?
我没跟着。游戏ID很少按顺序排列,有时它们之间存在差距。他们在一个小组内总是一样的,但就是这样。我不是故意在我的屏幕截图中暗示1,2,3,4,5,6是gameID--他们不是。我只是试图说明有分组。你能给我一个你的'alternateColor()'函数代码的例子,以及将传入的参数吗?谢谢! – HerrimanCoder
@HerrimanCoder请参阅上面的更新。 – m1kael
是的,这很有效,非常感谢你的澄清回应。尽管我仍然困惑,为什么在一个函数中进行切换(将颜色视为一个全局对象)与进行内联操作有任何不同,这取决于gameid检查。显然你的方式有效,而我的方式没有,但我仍然困惑为什么。 – HerrimanCoder