0

PHP/MySQLを介して出力するデータがあります。これは、特定の文字列に対応する漢字のリストにすぎません。

$i = 0;

while ($i <= $x) {
    echo "<div class=\"char-option\"><a href=\"character.php?char=" . $results[$i]['id']. "\">" . $results[$i]['mainchar'] . "</a></div>";
    $i++;
}

キャラクターのランキングが入った別の行があります。キャラクターの約20%がランキングを持っています。私はしたいと思います:

  1. ランクが最も高いキャラクターのクラスを「char-optionchar-common」に変更します。
  2. どのキャラクターにもランキングがない場合は、クラスを変更しないでください。

前もって感謝します。

4

2 に答える 2

1

ステップ 1: どのキャラクターが最高のランクを持っているかを判断します。

$high = -1, $hrank = 0;
for($i = 0; $i <= $x; ++$i) {
    if(isset($results[$i]['rank']) && $hrank < $results[$i]['rank']) {
        $high = $i;
        $hrank = $results[$i]['rank'];
    }
}

ステップ 2: キャラクターのランクが最も高い情報を使用して、誰が通常のクラスを取得し、誰が追加のクラスを取得するかを決定できます。

for($i = 0; $i <= $x; ++$i) {
    $class = "char-option";   //Default class
    if($i == $high) $class .= " char-common"; //Adds the second class for the highest ranked character.
    echo "<div class=\"$class\"><a href=\"character.php?char=" . $results[$i]['id']. "\">" . $results[$i]['mainchar'] . "</a></div>";
}

-1 in$highは、リスト内のどこかにランキングがない限り、クラスが変更されないようにします。

于 2013-02-23T10:26:13.563 に答える
0

結果にランキングを設定し、このようにします。

$i = 0;
while ($i <= $x) {
  if ($results[$i]['highest_ranking'] == 1) {
    $class = "char-option char-common";
  } else {
    $class = "char-option";
  }
  echo "<div class=\"$class\"><a href=\"character.php?char=" . $results[$i]['id'] . "\">" . $results[$i]['mainchar'] . "</a></div>";
  $i++;
}
于 2013-02-23T10:27:53.493 に答える