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-option char-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$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 回答