下面显示了名为“posts”的表格中三个列(早上,下午和晚上)的数据存储方式。
说,用户想要搜索下面匹配的记录:
早晨=星期一,星期二
下午=周一
Mysql查询必须在所有三列中搜索这些匹配的数据。我设法为单列执行此操作,例如:下午。但是如何改变我的查询以搜索所有列?
array_push($cols,$col);
array_push($days,$day);
需要修改的部分查询如下(这会搜索名为'afternoon'的列):
$sql.= " AND posts.afternoon IN ('" . implode("',' ",$days) . "')";
的var_dump($ COLS);
输出
array (size=3)
0 => string 'morning' (length=7)
1 => string 'afternoon' (length=9)
2 => string 'evening' (length=7)
的var_dump($天);
输出
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吗?