簡體   English   中英

如何在php中為迭代表設置備用行顏色?

[英]How to set alternate row color for an iterated table in 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');?>

它似乎不占用您的語法。

錯誤:

解析錯誤:語法錯誤,第238行的D:\\ xampp \\ htdocs \\ codeigniter_cup_myth_new \\ system \\ application \\ views \\ rackdetails.php中出現意外的':'

使用

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

然后,你可以定義CSS類,名稱分別.odd.even ,並給予他們的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>    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM