如何在单个查询中传递多个列值如果匹配至少一个列值,则获取数据?

时间:2015-08-22 13:14:24

标签: php mysql

c1  c2   c3   c4
-----------------
1   2    3    4
----------------
2   2    4    3
---------------
3   3    4    2
-------------------

如果选择了至少一个值并且有可能选择多个值,我想在单个查询中传递多个coumnn值。

这是我的Html代码。

<input type="checkbox" name="col1[]" value="1">1
<input type="checkbox" name="col1[]" value="2">2
<input type="checkbox" name="col1[]" value="3">3 
<input type="checkbox" name="col2[]" value="1">1
<input type="checkbox" name="col2[]" value="2">2
<input type="checkbox" name="col2[]" value="4">4
<input type="checkbox" name="col3[]" value="1">1
<input type="checkbox" name="col3[]" value="2">2
<input type="checkbox" name="col3[]" value="3">3
<input type="checkbox" name="col4[]" value="1">1
<input type="checkbox" name="col4[]" value="2">2
<input type="checkbox" name="col4[]" value="3">3

PHP代码

$r1= $_POST['col1'];
$r2 = $_POST['col2'];
$r3 = $_POST['col3'];
$r4 = $_POST['col4'];

foreach($resistor as $index => $value)
{
    $cr1 = $r1[$index];
    $cr2 = $r2[$index];
    $cr3 = $r3[$index];
    $cr4 = $r4[$index];
}
$stmt = "SELECT * FROM table WHERE t1=? AND t2=? AND t3=? AND t4=? ORDER BY tid ASC";
$sql = $dbConnection->prepare($stmt);
$sql->execute(array($cr1,$cr2,$cr3,$cr4));

这是我的代码。 请任何人帮我解决这个问题。我是php新手。

0 个答案:

没有答案