我有一个表单,让用户选择他们想要显示的内容。结果是这样的: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]
我有点不确定你想要实现什么,但从我的理解,这应该做到:
<?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()
:)
你试过了吗?
$sql = "SELECT * FROM table WHERE ".$query;