1

結果テーブルをZebraStripeにしたいと思います。固溶体が見つかりません。結果行に奇数/偶数クラスを追加するには、このテーブルに対して何をする必要がありますか?

 // 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>";
4

3 に答える 3

4

これは機能するはずです。テストしていないため、構文が正しくない可能性があります。しかし、論理はそこにあります。

$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;

編集:動作するようにコードを更新しました。

于 2012-09-13T16:16:49.697 に答える
3

CSS 3を使用する場合は、cssでn番目の子トリックを試してください。

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

ただし、奇数/偶数クラスを続行する場合は、whileループ中にカウンターが必要になり、次の場合に奇数/偶数クラスを交互に使用する必要があります。count % 2 = 0

于 2012-09-13T16:16:10.513 に答える
0

秘訣は、論理的な方法でphpを使用することです。D秘訣は、テーブル行の動的クラスを作成することです。つまり、基本的には、奇数用と天国用の2つのクラスがあります。以下に例を示します(私のプロジェクトを気にしないでください):

                            $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。私の英語でごめんなさい:/それが役に立ったことを願っています。

于 2014-05-03T16:30:17.940 に答える