使用结果中的ID创建MySQL查询

时间:2015-07-31 09:21:09

标签: php mysql arrays

我有一个表单,让用户选择他们想要显示的内容。现在结果如下:9, 10, 11。这些是表中的ID。

这些是他们要展示的类型的ID。我已经有了查询,但我想在查询结束时添加此部分。

所以在这种情况下:

$query = "type_ID = $result1 or type_ID = $result2 or type_ID = $result3"

如果打印出echo:

type_ID = 9 or type_ID = 10 or type_ID = 11

我怎样才能做到这一点?

我试图循环它,但是这不起作用,我很困惑如何将MySQL代码添加到此。

$result = $result . $_GET['type_ID'][$i]

2 个答案:

答案 0 :(得分:2)

我有点不确定你想要实现的是什么,但据我所知,应该这样做:

<?php
$tID = $_GET['type_ID'];

$query = 'SELECT * FROM table WHERE';

$i = 0;
foreach($tID AS $id){
    if($i == 0){
        $query .= ' type_ID = ' . $id;
        $i++;
    }else{
        $query .= ' OR type_ID = ' . $id;
    }
}

虽然如果您只是在寻找type_ID,我仍然建议您使用IN()

<?php
$tID = $_GET['type_ID'];

$query = "SELECT * FROM table WHERE type_ID IN (" . implode(',',$tID) . ")";

在像OR这样的作品中,您只需使用一个OR而不必编写多个IN(),而不是{/ 1}}。

答案 1 :(得分:0)

你试试这个吗?

$sql = "SELECT * FROM table WHERE ".$query;