如何从Mysql中选择逗号分隔值?

时间:2016-01-11 17:59:07

标签: php mysql sql comma

名为公司的My Mysql表位于

之下
id--username---countries

1---taner--------1,2,3
2---tom----------2,3
3---Jack---------1,3
4---Jenny--------1

我有一张表格,我从中张贴国家。

<select name="country" >
<option value="1" >Turkey</option>
<option value="2" >England</option>
<option value="3" >USA</option>
</select>

当我发布表单并获得国家/地区的POST值时。

$country=$_POST['country'];
SELECT * FROM company where country='$country';
..............................

我的目标是获取此查询并列出数据属于post值,如果英格兰选择taner和tom必须列出,那么英格兰的选项值为2,而在我的数据库中只有tom和taner包含此国家/地区值。

那么你的建议是什么?

3 个答案:

答案 0 :(得分:5)

使用MySQL的FIND_IN_SET()功能。

以下是参考资料:

所以你的查询应该是这样的:

$query = "SELECT * FROM company WHERE FIND_IN_SET('$country', country)";

答案 1 :(得分:1)

您可以使用Pattern Matching 外卡运算符执行此操作

SELECT * FROM company where country LIKE '%$country%';

希望这项工作。但是根据VR46,不建议在列中使用逗号分隔值。

答案 2 :(得分:1)

您可以使用mysql的LIKE功能:

SELECT * FROM company WHERE country LIKE '%$country%';