【发布时间】:2012-09-19 15:42:23
【问题描述】:
这几天我一直在头疼,找不到实现我想要做的事情的方法(我已经在整个网络上搜索了!)。我尝试过使用 WHERE 子句、嵌套的 IF 和 CASE 函数都无济于事。
我有一张包含模型信息的表格。该信息包括一个名为“国家”的字段,这是他们实际居住的地方。还有一个名为“hideme”的字段,如果他们不想出现在来自该国家/地区的人的搜索结果中,则可以为 1,否则为 0。我正在使用 MaxMind 的 GeoIP DB 获取访问者所在的国家/地区。
所以这就是我想要的,更清楚地说:如果访问者来自美国,模型来自美国并且“hideme”字段为 1,她不应该出现在结果中。我对 PHP 或获取国家代码没有任何问题,只需正确的 SELECT 语句即可。
到目前为止,这是我的代码:
$select = "SELECT user
IF (country != '$country_id', country,
IF (hideme = 1, 1, 0))
FROM models";
$result = mysql_query($select);
while ($row = mysql_fetch_array($result))
{
echo $row[user];
}
提前谢谢各位!
【问题讨论】:
-
SELECT * FROM models WHERE country=$country_id AND hideme=0? -
请提供示例数据和所需的输出。
-
@andrewsi 如果她有一个 hideme=1 但来自不同的国家怎么办?
-
@AdanVasconcelos - 看看 GolezTrol 的回答
标签: php mysql if-statement case