php+mysql多条件多值查询

从两个checkbox里面分别得到status(一个或多个值),和(一个或多个值)来查mysql数据库一张表的数据。where条件里面,status和from两个字段都要... 从两个checkbox里面分别得到status(一个或多个值),和(一个或多个值) 来查mysql数据库一张表的数据 。
where条件里面,status和from两个字段都要满足条件
比如,结果数据应该只能是属于从checkbox得到的status的一个或几个值,而且from字段也要只是checkbox得到的一个或几个值,不能有其他的不是checkbox得到的status和from的值。
从两个checkbox里面分别得到status(一个或多个值),和from(一个或多个值) 来查mysql数据库一张表的数据 。

其实就是一个查询页面里面有两个checkbox。所以查询条件要满足两个checkbox得到的值。比如,如果选项得到的status是“待定”和“确认”,然后from是“相册”“主页”,所以结果应该是显示状态为“待定”或者“确认”的来自“相册”或“主页”的数据
展开
 我来答
IT互联天下
推荐于2017-10-13 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

  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/>";
    //等等
}

?>
iask881107
推荐于2017-10-13
知道答主
回答量:48
采纳率:0%
帮助的人:20.5万
展开全部
首先你肯定会有两个变量去获取status和from的值,假设两个字段分别为status和from,则select * from 表名 where `status` in (status值) and `from` in (from值),checkbox是选中就能得到值的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-06-14
展开全部
select status , form from table where status in ('待定', '确认') and form in('相册', '相册');
其中status in ('待定', '确认') and form in('相册', '相册');
括号里面的值就是从checkbox中取到的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xubing6243
2012-06-14 · TA获得超过212个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:318万
展开全部
SELECT * FROM `from` WHERE `status` in (1,2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式