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/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/>"

    //等等

}

?>

下面两种情况:

1.返回值:由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT允许只有一个输入参数的情况。

因此,MySQL单表多字段模糊查询可以通过下面这个SQL查询实现

SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%’

2.如果这三个字段中有值为NULL,则返回的也是NULL,那么这一条记录可能就会被错过,怎么处理呢,我这边使用的是IFNULL进行判断,则sql改为:

<pre name="code" class="sql">SELECT * FROM `magazine` WHERE CONCAT(IFNULL(`title`,''),IFNULL(`tag`,''),IFNULL(`description`,'')) LIKE ‘%关键字%’


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

原文地址:https://54852.com/zaji/7327356.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存