好的,所以我已经查找了几种完成此操作的方法,但它们都不适合我,让我给你一些详细信息,说明为什么我尝试过的方法不起作用。
我已经尝试过SUBSTRING_INDEX
,而且我们大多数人都知道它只会根据字符串中的定界符数量“拆分”,而且所有行的数量都不相同,所以这是不行的,我也尝试了这里找到的方法http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/
我再次相信它取决于您查询中的分隔符数量。
我已经搜索并搜索了一种方法来完成这项工作,但我只是找不到让它工作的方法。我仍然是 PHP 的新手,所以这可能是一个简单的修复,我只是以某种方式忽略了它,但我不确定。
这是我正在使用的;
这是sql查询
$sql = "SELECT * FROM offers WHERE type='$type' and country='$membercountry' LIMIT $start, $limit";
$result = mysql_query($sql);
country
是具有我的逗号分隔字符串的列。有些行只是有类似的东西,US
而其他行有US,AU,CA,GB
我需要拆分这些的原因是因为实际显示优惠的页面会检查用户国家/地区是否与优惠国家/地区匹配,并且当它作为一个完整的长字符串读取时显然会不匹配,这意味着这些优惠不会向用户显示。
我和我的一个朋友谈过,他说要使用explode()
,但我很确定你不能explode()
在 sql 查询中使用。
我知道我可能没有尽可能地解释这一点,我整晚都在做这个项目,所以我有点累。
另外作为说明,我知道我可以做到每个报价都有多行提供不同国家/地区的位置,但是其中一些报价允许所有国家/地区都这样做,这意味着对于 1 报价我会喜欢243 行,这会让我觉得我只是马虎!
如果有人可以推动我朝着正确的方向前进,我将不胜感激!
谢谢,凯西