我有一个表单,让用户选择他们想要显示的内容。现在结果如下: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]
答案 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;