如果只有一个语句,我怎么能将一个标志重置为假,只有它是真的&如果它已经是真的只是忽略它?

时间:2011-08-15 07:25:11

标签: php logic

如果只有一个语句,我怎么能将一个标志重置为false,只要它是真的&如果它已经是真的只是忽略它?我也想与此相反。这是一种情况,我想禁止用户只有他/她活跃,如果他/她已被禁止我不想做任何事情。如果他/她被禁止,我也想取消用户,但如果他/她已经活跃则不想做任何事情。这可以只用一个声明来表达吗?

2 个答案:

答案 0 :(得分:1)

不,这必须是两个语句(一个用于将用户设置为禁用,另一个用于将用户设置为unbanned),但它不必复杂。

假设您有一个“$ banned”标志,如果您希望用户被禁止,您只需将其设置为true,如果用户不应被禁止,则设置为false。无论用户之前是什么都没关系 - 只需继续前进,一切都应该很好地完成。

使用SQL,您可能会有BANNED列。 UPDATE不关心值是否保持不变,因此只需运行更新:

-- this will set BANNED to false. Use 1 to set it to true
UPDATE my_table SET BANNED = 0 WHERE ID = <your id>

所有这些都表示,您可能希望强制用户在被禁止后退出并重新登录,但这是另一个问题。

答案 1 :(得分:0)

这种查询可能对您有所帮助:

UPDATE `my_table` SET banned=(NOT banned) WHERE id = "<your id>"