名为公司的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包含此国家/地区值。
那么你的建议是什么?
答案 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%';