2010-04-03 5 views
2

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');?> 

당신의 구문을하지 않는 것 같습니다 ....

ERROR :

Parse error: syntax error, unexpected ':' in D:\xampp\htdocs\codeigniter_cup_myth_new\system\application\views\rackdetails.php on line 238

답변

3

사용 modulo

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

그런 다음 당신은 이름 .odd.even하고 주어와 CSS 클래스를 정의 할 수 있습니다 background-color 행이와 교대로 당신이 원하는. 최신 브라우저로

(읽기 :하지 IE 8 이하)를 당신은 또한 :nth-child pseudo class와 CSS에서 직접 작업을 수행 할 수 있습니다

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

@ gordon도 css 클래스입니까? –

+0

@chandru_cp 아니, CSS에서 그들을 정의하고 그들이 원하는 색상을 제공 – Gordon

+0

@ gordon 나중에 내가 그것을 시도하고 난 후에 당신을 보자 .. –

1

당신이 행을 강조하기 위해 자바 스크립트를 사용할 수있는 서버 코드를 간소화하고 추가하려면 핸들러를 마우스 오버/아웃하여 원하는대로 할 수 있습니다.

jquery 및 많은 예제로 매우 쉽게 할 수 있습니다.

0
<?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>  
+0

안녕하세요. 당신의 대답을 자세히 설명해주십시오. –

관련 문제