0

我有一个将用户拉入列表的查询。它列出了您可以“战斗”的人,您不应该与自己战斗,或与“氏族”中的某个人战斗。

 $select = mysql_query("SELECT id,username,clan FROM `users` WHERE username != '".$user['username']."' AND IF clan>0 THEN clan != ".$user['clan']."");

此查询“尝试”查看所选行的氏族是否 > 0“意味着他们在一个氏族中”,然后它应该查看他们是否与用户在同一个氏族中。如果是这样,请跳过该行。此外,如果您不在部落中,那么您应该能够与不在部落中的其他人战斗(0),这毫无价值。

  • 打不过自己
  • 或您氏族中的任何人

谢谢 :)

4

2 回答 2

1

尝试这个:

SELECT id,username,clan 
FROM `users` 
WHERE username != '".$user['username']."' 
AND (clan = 0 OR clan != ".$user['clan'].")"
于 2012-08-12T01:51:27.803 回答
0
SELECT id,username,clan 
FROM `users` 
WHERE username != '".$user['username']."' 
  AND (
    (clan != ".$user['clan'].") OR
    (clan = 0 AND ".$user['clan']." = 0)
  )

如果氏族无法与无氏族战斗,则只需在 OR 的第一部分添加对 clann=0 的检查,依此类推。

于 2012-08-12T01:56:07.113 回答