0

此代码显示存储在数据库中“条目”表中的所有名称的列表。

我有一个包含 200 个名字的列表。前 20 名用绿色标记。最后20个红色。其他是蓝色的。

$position=0;

$upit = mysql_query("SELECT * FROM entries ORDER BY votes DESC");
  //This is now an array of the data

while ($model = mysql_fetch_array($upit)) {
$position++;
$data = unserialize($model['data']);
$max = mysql_num_rows($upit);
$max = $max - 20;

if ($position < 21){
echo "  <font color=#008000> ".$position." )  ".$data[6]['value']."  ( ".$model[votes]." ) </font>";

} elseif ($position <= $max) {
echo "  <font color=#000080> ".$position." )  ".$data[6]['value']."  ( ".$model[votes]." ) </font>";

} else {
echo "  <font color=#FF0000> ".$position." )  ".$data[6]['value']."  ( ".$model[votes]." ) </font>";
}
}

此代码按以下方式显示列表

 1. Novak Djokovic (1342) 
 2. Rafael Nadal (1234) 
 3. Roger Federer (1002)
 4. Name 4 (990) 
 5. Name 5 (899) 
 6. ...

现在我想从列表中列出两个名称,但它们没有从数据库中删除。每个名称在表“条目”中都有自己的唯一 ID,该字段称为“条目 ID”。

例如,我想排除“entries_id”为“150”且 Roger Federes 软管“entries_id”为“92”的诺瓦克·德约科维奇的名单

4

2 回答 2

1

只需相应地更新您的查询

SELECT * FROM entries WHERE entries_id<>150 AND entries_id<>92 ORDER BY votes DESC

即使它们像您想要的那样存在于数据库中,您也不会在结果中获得这两条记录。

于 2013-10-08T13:03:28.670 回答
0

试试这个:

...
$count = 0;
while ($model = mysql_fetch_array($upit)) {
    $position++;
    $data = unserialize($model['data']);
    $max = mysql_num_rows($upit);
    $max = $max - 20;

    if (!($data[6]['value'] == 150 || $data[6]['value'] == 92)){
        $count++;
        if ($count< 21){
            echo "  <font color=#008000> ".$position." )  ".$data[6]['value']."  (".$model[votes]." ) </font>";
        } elseif ($count<= $max) {
            echo "  <font color=#000080> ".$position." )  ".$data[6]['value']."  ( ".$model[votes]." ) </font>";
        } else {
            echo "  <font color=#FF0000> ".$position." )  ".$data[6]['value']."  ( ".$model[votes]." ) </font>";
        }
    }
}
于 2013-10-08T13:13:25.410 回答