我的MySQL中有一个名为"国家"的列,我希望能够做的是,如果国家/地区列包含访问者拥有的国家/地区代码,则加载多条记录。
假设同一国家/地区有 2 个优惠。(美国、英国)
因此,"国家/地区"列将如下所示:美国,GB
Country | Name | Description
US,GB | ... | ....
然后它应该能够检查"国家/地区"列是否包含国家/地区代码,即美国或 GB。然后加载适用于该国家/地区的报价。
到目前为止,我有这个MySQL查询,但它不起作用。
mysql_query("SELECT popularity, name, description, category, enabled FROM list WHERE country LIKE '$country_code' AND enabled='0'");
我希望你明白,我想说什么。感谢您的任何回复!
永远,从不,永远不要在一列中存储多个值。
像这样一次只存储 1 个国家/地区
Country | Name | Description
US | ... | ....
GB | ... | ....
如果无法更改数据库设计,则可以运行
SELECT popularity, name, description, category, enabled
FROM list
WHERE enabled='0'
AND find_in_set('$country_code', country) > 0
使用通配符%
作为零个或多个字符的替代品。
mysql_query("SELECT popularity, name, description, category, enabled FROM list WHERE country LIKE '%$country_code%' AND enabled='0'");