mysql搜索多列

时间:2015-12-21 08:26:51

标签: php mysql

下面显示了名为“posts”的表格中三个列(早上,下午和晚上)的数据存储方式。

enter image description here

说,用户想要搜索下面匹配的记录:

早晨=星期一,星期二
下午=周一

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吗?

0 个答案:

没有答案