Как установить альтернативный цвет строки для повторяющейся таблицы в php?

Я использую PHP, и я повторяю таблицу с массивом результатов … Я хочу добавить цвет строки и чередующийся цвет строки … Как это сделать? Любое предложение…

<table id="chkbox" cellpadding="0" cellspacing="2" width="100%" class="table_Style_Border"> <tr> <td style="width:150px" class="grid_header" align="center">RackName</td> <td style="width:150px" class="grid_header" align="center">LibraryName</td> <td style="width:200px" class="grid_header" align="center">LibrarianName</td> <td style="width:200px" class="grid_header" align="center">Location</td> <td style="width:1%" class="grid_header"></td> </tr> <? if(isset($comment)) { echo '<tr> <td class=table_label colspan=5>'.$comment.'</td></tr>'; } ?> <?php foreach($rackData as $row) { ?> <tr> <td align="left" class="table_label"> <?=$row['rack_name']?> </td> <td align="left" class="table_label"> <?=$row['library_name']?> </td> <td align="center" class="table_label"> <?=$row['librarian']?> </td> <td align="center" class="table_label"> <?=$row['location']?> </td> <td align="center"> <input type="checkbox" name="group" id="group" value="<?=$row['rack_id']?>" onclick="display(this);" > </td> </tr> <? } ?> <table> 

РЕДАКТИРОВАТЬ:

 <?php foreach($rackData as $key => $row) { ?> <?php printf('<tr class="%s">', ($key % 2) ? : 'rowcolor' : 'alternaterowcolor');?> 

Кажется, это не синтаксис …

ОШИБКА:

Ошибка синтаксиса: ошибка синтаксиса, неожиданный ':' в D: \ xampp \ htdocs \ codeigniter_cup_myth_new \ system \ application \ views \ rackdetails.php в строке 238

Solutions Collecting From Web of "Как установить альтернативный цвет строки для повторяющейся таблицы в php?"

Использовать modulo

 <?php foreach($rackData as $key => $row) { ?> <?php printf('<tr class="%s">', ($key % 2) ? 'odd' : 'even'); ?> // ... 

Затем вы можете определить классы CSS с именами .odd и .odd и .odd им background-color вы хотите чередовать строки.

С современными браузерами (читайте: не IE 8 или ниже) вы также можете сделать это непосредственно в CSS с помощью псевдо-класса nth-child :

 tr:nth-child(even) { background-color: #FFF; } tr:nth-child(odd) { background-color: #EEE; } 

Чтобы упорядочить код сервера, вы можете использовать javascript для выделения ваших строк и добавления обработчиков мыши / выходов к строкам, чтобы делать все, что вы хотите.

Очень легко сделать с jquery и многими примерами.

 <?php include("BLL/index.php"); $objBLL = new BLL(); $result = $objBLL->SelectQuery(); $ID = $i; $i = 1; ?> <table border="1" width="50%"> <tr> <td>ID</td> <td>NAME</td> <td>DESCRIPTION</td> </tr> <?php while ($row = mysql_fetch_assoc($result)) { if ($i % 2 != 0) {# An odd row $rowColor = "orange"; echo '<tr bgcolor="' . $rowColor . '"><td >' . $row["ID"] . '</td><td >' . $row["Name"] . '</td><td >' . $row["Description"] . '</td></tr>' . "\r\n"; $i++; }else{ # An even row $rowColor = "green"; echo '<tr bgcolor="' . $rowColor . '"><td >' . $row["ID"] . '</td><td >' . $row["Name"] . '</td><td >' . $row["Description"] . '</td></tr>' . "\r\n"; $i++; } } ?> </table> в <?php include("BLL/index.php"); $objBLL = new BLL(); $result = $objBLL->SelectQuery(); $ID = $i; $i = 1; ?> <table border="1" width="50%"> <tr> <td>ID</td> <td>NAME</td> <td>DESCRIPTION</td> </tr> <?php while ($row = mysql_fetch_assoc($result)) { if ($i % 2 != 0) {# An odd row $rowColor = "orange"; echo '<tr bgcolor="' . $rowColor . '"><td >' . $row["ID"] . '</td><td >' . $row["Name"] . '</td><td >' . $row["Description"] . '</td></tr>' . "\r\n"; $i++; }else{ # An even row $rowColor = "green"; echo '<tr bgcolor="' . $rowColor . '"><td >' . $row["ID"] . '</td><td >' . $row["Name"] . '</td><td >' . $row["Description"] . '</td></tr>' . "\r\n"; $i++; } } ?> </table>