0

以下のようにコード化されたテーブルがあります。

echo "<table class='lt show'>
      <tr class='h'>
      <td class='ltid' title='Position'>#</td>
      <td class='ltn' title='Name'>Name</td>";

$i = 0;

while ($i < $num){
    $pos = $i + 1;

    $name = mysql_result($result, $i, "name");

    $bgcolor = 'bgcolor="'.$color.'"';

    if ($pos <=  19) $color = "#FFF";

    echo "<tr $bgcolor class='even'><td class='ltid'>$pos</td>
          <td class='ltn'><a href='teams.php?id=$id'>$name</td>";

これは、それぞれが異なる位置と名前を含む 20 行のテーブルを返します。下の 2 行 / 20 行を赤くして、テーブルの一番下にあることを示すにはどうすればよいですか?

4

2 に答える 2

1

注MySQL関数は、PDOを優先して廃止されました。

そういえば、これがあなたのやり方です

$num= mysql_num_rows ($result);
while ($i < $num){
$pos = $i + 1;

$name = mysql_result($result, $i, "name");

$bgcolor = 'bgcolor="'.$color.'"';

if ($pos <  $result-2) $color = "#FFF";

echo "<tr $bgcolor class='even'><td class='ltid'>$pos</td>
      <td class='ltn'><a href='teams.php?id=$id'>$name</td>";
}
于 2013-01-03T03:42:41.763 に答える
0

mysql_num_rows() 関数を使用して結果セットの行数を計算し、合計から 2 を引いてループ インデックスを決定し、色を赤に設定できます。

http://php.net/manual/en/function.mysql-num-rows.php

これらの関数は非推奨ですが、mysqli と PDO が優先されることに注意してください。それがあなたに関係するかどうかはわかりません。

または、SQL カウントを直接行うこともできます。

SELECT COUNT(1) FROM Table;

これはセット数を返します。選択はあなた次第です。反復される行の総数を認識しないと、行の色を設定するポイントを決定する方法がありません。

于 2013-01-03T01:07:28.553 に答える