Табличка Zebra Stripe PHP MYSQL

Я бы хотел, чтобы Zebra Stripe отобразила таблицу результатов. Я не могу найти твердого решения. Что мне нужно сделать для этой таблицы, чтобы добавить нечетный / четный класс в строки результатов?

// HTML ... Aliases from Mysql echo "<table class='sortable' id='tablesorter' cellspacing='1' cellpadding='0' border='0' width='920px' > <thead> <tr> <th class='header'>Short Name of Fund</th> <th class='header'>I/C</th> <th class='header'>Fund Manager Company</th> <th class='header'>Class</th> <th class='header'>Special Class</th> <th class='header' id='custom'>TTR year-to-date<br /> %</th> <th class='header'>Mgmt Fee Effectively Charged</th> <th class='header id='custom'>Total Expenses <br /> %</th> <th class='header'>Fund Size</th> </thead><tbody> </tr>"; //<tr> specifies table row. for each <td> (table data) will specify a new column. The $row specifies the mysql column name (in this case using an alias) while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"page.php?id={$row['ID']}\">{$row['Short Name of Fund']}</a></td>"; echo "<td>" . $row['I/C'] . "</td>"; echo "<td>" . $row['Fund Manager Company'] . "</td>"; echo "<td>" . $row['Class'] . "</td>"; echo "<td>" . $row['Special Class'] . "</td>"; echo "<td>" . $row['TTR year-to-date %'] . "</td>"; echo "<td>" . $row['Mgmt Fee Effectively Charged'] . "</td>"; echo "<td>" . $row['Total Expenses %'] . "</td>"; echo "<td>" . $row['Fund Size'] . "</td>"; echo "</tr>"; } echo "</tbody></table>"; 

Это должно работать, синтаксис может быть неправильным, поскольку я его не тестировал. Но логика есть.

 $currentState = 'odd'; $html = ''; while($row = mysql_fetch_array($result)){ $currentState = ($currentState == 'odd' ? 'even' : 'odd'); $html .= '<tr class="'.$currentState.'">'; $html .= '<td><a href="page.php?id=' . $row['ID'] . '">'. $row['Short Name of Fund'] .'</a></td>'; $html .= '<td>' . $row['I/C'] . '</td>'; $html .= '<td>' . $row['Fund Manager Company'] . '</td>'; $html .= '<td>' . $row['Class'] . '</td>'; $html .= '<td>' . $row['Special Class'] . '</td>'; $html .= '<td>' . $row['TTR year-to-date %'] . '</td>'; $html .= '<td>' . $row['Mgmt Fee Effectively Charged'] . '</td>'; $html .= '<td>' . $row['Total Expenses %'] . '</td>'; $html .= '<td>' . $row['Fund Size'] . '</td>'; $html .= '</tr>'; } echo $html; 

EDIT : Обновлен код, чтобы он работал.

Если вы хотите использовать CSS 3, попробуйте n-й детский трюк в вашем css:

 tr:nth-child(2n+1) { background-color: #aaeeaa; } 

Однако, если вы хотите продолжить работу с нечетными / четными классами, вам понадобится счетчик во время цикла while, а затем чередуйте нечетные / четные классы, когда count % 2 = 0

трюк заключается в том, чтобы использовать php логическим способом: D Хитрость заключается в создании динамического класса для ваших строк таблицы. Поэтому в основном у вас будет 2 класса для странных и один для eaven. Я приведу вам пример ниже (не возражайте против моего проекта):

  $counter=""; while ($upit_row = mysql_fetch_array($upit_run)){ $korisnik_id = $upit_row['korisnik_id']; $tip_id = $upit_row['tip_id']; $tip = mysql_fetch_array(mysql_query("SELECT naziv FROM tip_korisnika WHERE tip_id = '$tip_id'")); $kor_ime = $upit_row['korisnicko_ime']; $ime = $upit_row['ime']; $prezime = $upit_row['prezime']; $email = $upit_row['email']; $counter++; $class=""; if ($counter%2){ $class="even"; } else{ $class="odd"; } 

CSS выглядит так:

 tr.odd{ background-color:white; } tr.even{ background-color:#FAFAFA; } 

Счетчик будет подсчитывать каждую строку, генерирующую php, которая создает число, которое вы нырнули на 2, и получите нечетные и четные числа. После этого вы используете параметр if, чтобы определить свой класс: D После этого просто вставьте переменную класса в следующую строку:

 echo "<tr class='$class'>"; 

или вот так:

 <tr class="<?php echo $class ?>"> 

PS. извините за мой английский: / Надеюсь, это помогло.