2012-06-17 68 views
0

問題:不同的CSS樣式

樣式在SQL查詢中的最後一排沒有使用任何CSS3選擇器。

PHP代碼:

while ($item = mysql_fetch_assoc($itemsresult)) 
{ 
    $answer = "SELECT IID, Comment FROM betyg_answers WHERE EID = '{$EID}' AND CID = '{$item['CID']}' ORDER BY ID ASC"; 
    $answerresult = mysql_query($answer) or die ('Error (' . mysql_errno() . ') ' . mysql_error()); 
    $answer = mysql_fetch_assoc($answerresult); 

    if ($answer['IID'] == $item['IID']) 
    { 
     $html .= ' 
      <tr> 
       <td class="arrow" style="'.$arrow.'"><img src="./img/circle_arrow_right.png" class="arrowimage"></td> 
       <td class="numbers" style="'.$numbers.'">'.$itemcounter.'.</td> 
       <td class="text" style="'.$text.'">'.$item['Description'].'</td> 
      </tr> 
     '; 
    } 
    else 
    { 
     $html .= ' 
      <tr> 
       <td class="arrow" style="'.$arrow.'">&nbsp;</td> 
       <td class="numbers" style="'.$numbers.'">'.$itemcounter.'.</td> 
       <td class="text" style="'.$text.'">'.$item['Description'].'</td> 
      </tr> 
     '; 
    } 

    $itemcounter++; 
} 

最後一排的SQL查詢應該代替打印:

$html .= ' 
     <tr> 
      <td class="arrow" style="'.$lastarrow.'">&nbsp;</td> 
      <td class="numbers" style="'.$lastnumbers.'">'.$itemcounter.'.</td> 
      <td class="text" style="'.$lasttext.'">'.$item['Description'].'</td> 
     </tr> 
'; 

問:

什麼需要的,同時加入循環,以便識別最後一行和打印用不同的代碼代替?

+0

你可能要考慮重新寫你的SQL在一個查詢中檢索答案和項目。另外,如果最後一行會匹配'$ answer ['IID'] == $ item ['IID']'? –

回答

3

使用計數器:

$i = 0; 
$c = mysql_num_rows($itemresult); 
while ($item = mysql_fetch_assoc($itemsresult)) { 
    $i++; 
    if ($i == $c) { 
    // This is a last row 
    } else { 
    // Regular row 
    } 
} 
0

有幾種方法可以做到這一點:

  1. 使用:最後一個孩子(但不是在IE8工作)

    表tr:last-child {背景色:#ff0000; }

  2. 使用jQuery方法(這是獨立於瀏覽器),在文件加載功能

,添加下面的jQuery代碼,

$("td:last-child").css({background-color:"#ff0000"})