2013-11-23 4 views
0

Извините о названии я действительно не мог понять, как описать мою проблему в таких коротких словахОпределить строку чередуя цвет

Так у меня есть эта страница, где я показываю ряды.

Прямо сейчас я получил его, так что он меняет имя ранга только один раз. Единственная проблема, с которой я сталкиваюсь, заключается в создании каждого блока TR , где новый ранг начинается. Я хочу чередовать красный и синий.

Я бы хотел, чтобы блок Лидера был синим, красный блок красного и так далее, третий - синий и так далее.

_____________ 

Leader: | Bob 
     | Rob 
_____________ 

Vice: | Jim 
     | John 
     | Robert 
     | Samuel 
     | Joe 
_____________ 

Novice: | Sarah 
     | Cletus 
     | Tom 
_____________ 



$lastRankID = -1; 

<?php foreach($db->query($sql) as $row): ?> 
<tr bgcolor=" RED/BLUE "> 
<td> 
<?php if ($lastRankID <> $rankid) echo $rankname; $lastRankID = $rankid; ?> 
</td> 

<td><?php echo $name ?></td> 
</tr> 

<?php endforeach ?> 

Это:

$i = 0; 

<?=($i = !$i) ? 'blue' : 'red'?> 

$i++; 

будет работать конечно не, я не хочу, имеют различные цвета строки на каждом TR только там, где начинается новый ранг.

Любые советы для нуба?

ответ

1
$colors = array('red', 'blue'); 
$curcolor = 0; 

... 

if ($lastRankID != $rankid) { 
    $curcolor = ($curcolor+1) % count($colors); 
    $lastRankID = $rankid; 
} 
echo "<TR class='{$colors[$curcolor]}'>"; 
Смежные вопросы