【问题标题】:Find specific value in comma list in database在数据库的逗号列表中查找特定值
【发布时间】:2013-06-21 17:26:39
【问题描述】:

在我的一个表中,我有一列,其中有一个以逗号分隔的已购买该项目的用户列表。 IMAGE

我如何阅读列表并运行 php 脚本来查找登录的用户(存储在会话中)是否在该列表中。例如,我如何查看登录用户(MTNOfficial)是否在列表中。我认为它是一个带有 mysql CONCAT 或 FIELD_IN_SET 之类的 php if 语句。

谢谢

【问题讨论】:

  • 我需要它在一个 php if 语句中说如果登录的用户在列表中,那么,否则....
  • 请提供您的代码,而不是您尝试的解释。

标签: php mysql list comma


【解决方案1】:

使用FIND_IN_SET() 查找包含您的用户的记录

select *
from your_table
where find_in_set('MTNOfficial', usersBought) > 0

【讨论】:

  • 如何检查用户是否存在于 php if 语句中
  • 您可以在 Stack Overflow 上提出另一个问题。但是,当您确实提供上下文和详细信息时,您想做什么以及遇到困难的地方。
【解决方案2】:

获取逗号分隔的列表,然后尝试使用php函数explode()获取一个可以循环的数组。

http://php.net/manual/en/function.explode.php

$target = "MTNOfficial";
$query = "select usersBought from table_name";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
    $users = explode("," $row['usersBought']);
    // may want to trim() here
    for ($i = 0; $i < count($users); i++) {
        if ($users[i] == $target) {
            //we found him!
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多