0

問題:

CSS3セレクターを使用せずにSQLクエリの最後の行のスタイルを設定します。

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

質問:

whileループに何を追加して、最後の行を認識し、代わりに別のコードを出力する必要がありますか?

4

2 に答える 2

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
  }
}
于 2012-06-17T05:37:46.183 に答える
0

それを行うにはいくつかの方法があります:

  1. :last-childを使用します(ただし、これはIE8では機能しません)

    テーブルtr:last-child {background-color:#ff0000; } </ p>

  2. jQueryメソッドを使用する(これはブラウザーに依存しません)

ドキュメントロード関数に、次のjQueryコードを追加します。

$("td:last-child").css({background-color:"#ff0000"})
于 2012-06-17T05:42:13.733 に答える