下面显示了名为“posts”的表中三列(上午、下午和晚上)的数据如何存储。
假设用户想要搜索以下匹配的记录:
早上 = 周一、周二
下午=周一
Mysql 查询必须在所有三列中搜索这些匹配的数据。我设法对单列执行此操作,例如:下午。但是如何更改我的查询以搜索所有列?
array_push($cols,$col);
array_push($days,$day);
需要修改的部分查询如下(这将搜索名为“afternoon”的列):
$sql.= " AND posts.afternoon IN ('" . implode("',' ",$days) . "')";
var_dump($cols);
output:
array (size=3)
0 => string 'morning' (length=7)
1 => string 'afternoon' (length=9)
2 => string 'evening' (length=7)
var_dump($天);
output:
array (size=3)
0 => string 'Sun' (length=3)
1 => string 'Sun' (length=3)
2 => string 'Sun' (length=3)
简而言之
我需要做这样的事情:
$sql .= " AND posts.".$cols." IN ('" . implode("',' ",$days) . "')";
在上面的查询中,$cols
将值保存在数组或单个值中。你
可以引用数组的值$cols
上面。或者我可以使用IN
('" . implode("',' ",$days) . "')
也为 $cols 吗?