我创建了一个包含表单的基本网站。此表单从用户那里捕获以下信息并将其存储在 PHPMyAdmin 表中:
名字、姓氏、头衔、描述、电子邮件地址、显示电子邮件地址(是/否)。
输入的一个例子是:
David, Beckham, Mr, Hello I am a boy, david@hotmail.com, Yes
同样在网站上,我有一个表格,显示了通过使用此 PHP 代码存储在我的数据库中的所有用户的列表:
$sql = "SELECT UserID, UserForeName, UserSurname, UserTitle, UserDescription,
UserEmailAddress FROM Users";
我将如何编辑此 SQL,以便如果用户对“显示电子邮件”字段回答“否”,他们的行将从该行中省略他们的电子邮件地址。例如:
David, Beckham, Mr, Hello I am a boy, david@hotmail.com, Yes
Lucy, Sky, Mrs, Hello I am a girl, , No
我尝试了以下查询,但到目前为止还没有成功:
SELECT CASE WHEN EmailReveal = 'yes'
THEN SELECT *
ELSE SELECT UserID, UserForeName, UserSurname, UserTitle, UserDescription
END AS col
FROM Users;
最佳答案
SELECT
UserID,
UserForeName,
UserSurname,
UserTitle,
UserDescription,
CASE WHEN showemailcondition THEN UserEmailAddress ELSE '' END `Email`
FROM Users
这就是您将如何以简单的方式使用 CASE WHEN。
关于php - 如果另一个字段具有特定条件,如何隐藏列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292061/