IN关键字可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,该纪录将被查询出来。如果不在集合中,则不满足查询条件。其语法规则如下:[ NOT ] IN ( 元素1, 元素2, …, 元素n )
例如:
select * from STUDENT where STU_AGE in(11,12)
PHP+Mysql多条件多值查询示例代码:
index.html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8">
<title>SQL多条件查询示例</title>
</head>
<body>
<form method="post" action="deal.php">
<h1>房屋出租</h1>
房屋类型:<select name="type">
<option value="1">一居室</option>
<option value="2">二居室</option>
<option value="3">三居室</option>
</select><br/>
面积:<input name="area" type="text"/><br/>
地址:<input name="addr" type="text"/><br/>
<input name="btn" type="submit" value="搜索" /><br/>
</form>
</body>
</html>
deal.php文件:
<?php//连接数据库
$conn=mysql_connect("localhost","root","")
//选择数据库
$db=mysql_select_db("数据库名")
//接收 参数
$type=$_POST['type']
$area=$_POST['area']
$addr=$_POST['addr']
//SQL语句主题
$query="select * from room where "
//根据条件和传的值拼接sql语句
//判断面积不为空
if($type!=""){
//然后根据具体面积分情况拼接
switch($type){
case 1:
//一居室
$query.=" room_type=1"
break
case 2:
$query.=" room_type=2"
break
case 3:
$query.=" room_type=3"
break
}
}
//面积
if($area!=""){
$query.=" and area ={$area}"
}
//地址
if($addr!=""){
$query.=" and addr like '%{$addr}%'" //地址
}
//执行查询
$result=mysql_query($query)
//遍历结果
echo "搜搜结果如下:"
while($row=mysql_fetch_array($result)){
echo "地址:".$row['addr']
echo "<br/>"
echo "面积:".$row['area']
echo "<br/>"
echo "居室:".$row['type']
echo "<br/>"
echo "价格:".$row['addr']
echo "<br/>"
//等等
}
?>
select *from table
where 1=1
and (option1 is true or conditionA)
and (option2 is true or conditionB)
and (option3 is true or conditionC)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)