【发布时间】:2011-02-20 18:33:20
【问题描述】:
所以我试图获取一个搜索字符串(可以是任意数量的单词)并将每个值转换为一个列表以在以下 IN 语句中使用)此外,我需要对所有这些值进行计数以用于我有计数过滤器
$search_array = explode(" ",$this->search_string);
$tag_count = count($search_array);
$db = Connect::connect();
$query = "select p.id
from photographs p
left join photograph_tags c
on p.id = c.photograph_id
and c.value IN ($search_array)
group by p.id
having count(c.value) >= $tag_count";
这目前没有返回任何结果,有什么想法吗?
解决方案:
$search_array = explode(" ",$this->search_string);
foreach ($search_array as $key => $value) {
$new_search_array[] = "'$value'";
}
$search_string = implode(',', $new_search_array);
这给了我一个逗号分隔的列表
【问题讨论】: