php mysql 多表分级查询

php mysql 多表分级查询,第1张

PHP+Mysql多条件多值查询示例代码:

index.html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html><head><meta http-equiv="Content-Type" content="text/htmlcharset=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>面积:<input name="area" type="text"/>地址:<input name="addr" type="text"/><input name="btn" type="submit" value="搜索" /></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 "" echo "面积:".$row['area'] echo "" echo "居室:".$row['type'] echo "" echo "价格:".$row['addr'] echo "" //等等} ?>

select sum(case when lv<10 then 1 else 0) as 等级1到10的人数,sum(case when (lv>10 and lv<20) then 1 else 0) as 等级10到20的人数 from 表

就是这个思路,后面的自己补起来

你的描述很清晰,但是你将问题复杂化了,没有分析清楚其中的思路,你如果要查找楼栋2,你必须输入查询条件为楼栋2的名称,那么查找语句就很简单,select district _name form tablename where id = (select parent_id from tablename where distict_name = "") union select district _name from table name where parent_id = (select id from tablename where distict_name ="" ) ,我这种只可以查询上下两个级别,如果你想扩充,那么写存储过程,进行判断,存储过程中输入两个参数,一个是名称,一个是等级,根据等级判断执行不同的案例。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8656251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存