fsk33 2024-05-15 22:46 采纳率: 73.5%
浏览 12
已结题

PHP下拉框选择筛选显示数据,如何使筛选条件做模糊查询或者多条件查询

做了一个按条件筛选显示数据库列表的PHP页面,下拉列表里的DX、CT、MR代表设备,我想筛选设备显示列表,这个设备类型在数据库中存储在shebei字段中,但部分设备类型在数据库里有多种显示,比如有些DX设备,它存储为DX或DR,有些CT设备,它存储为CT或CT SR或SR CT,我需要在选择DX后,能同时显示shebei字段里为DX和DR的信息,在选择CT后,能同时显示shebei字段里为CT和CT SR和SR CT的信息。
这是我现在的代码
以下是刷新当前页面的数据库连接代码,$condition、$condition1、$condition3是三个条件筛选变量,$condition、$condition1在此略过。

$condition3 = " 1=1 ";
if(isset($_GET['shaixuan3'])){
    if($_GET['shaixuan3']!='5'){
        $condition3.=" AND shebei='".$_GET['shaixuan3'] . "'";
        $_SESSION['shaixuan3'] = $_GET['shaixuan3']; // 将筛选条件保存在Session中
    } else {
        $_SESSION['shaixuan3'] = null; // 清空Session中保存的筛选条件
    }
} else {
    if(isset($_SESSION['shaixuan3'])){
        $condition3.=" AND shebei='".$_SESSION['shaixuan3'] . "'";
    }
}

以下是设备筛选下拉框筛选框和按钮的代码:

筛选3:
<select name="shaixuan3" style="width:50%;height:20px;font-size: 15px" id="shaixuan">

<option value="5">-设备类型-</option>
<option value="DX" <?php if(isset($_SESSION['shaixuan3']) && $_SESSION['shaixuan3'] == 'DX') echo 'selected'; ?>>DX</option>
<option value="CT" <?php if(isset($_SESSION['shaixuan3']) && $_SESSION['shaixuan3'] == 'CT') echo 'selected'; ?>>CT</option>
<option value="MR" <?php if(isset($_SESSION['shaixuan3']) && $_SESSION['shaixuan3'] == 'MR') echo 'selected'; ?>>MR</option>
</select>

以下是javascript代码:


<script language="javascript">
 $('#filter-form').on('submit',function(event){
        event.preventDefault();
        var url = "http://127.0.0.1/filter.php?" + $('#filter-form').serialize(); // 获取筛选条件并拼接到URL中
        var shaixuan = 'shaixuan='+$('#shaixuan').val();
        var shaixuan1 = 'shaixuan1='+$('#shaixuan1').val();
        var shaixuan3 = 'shaixuan3='+$('#shaixuan3').val();
        url += shaixuan + '&' + shaixuan1+ '&' + shaixuan3;
        window.location.href = url;
    });
</script>
  • 写回答

9条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-15 22:46
    关注

    使用SQL的LIKE操作符进行模糊查询,配合AND/or连接多个条件。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月15日
  • 已采纳回答 5月15日
  • 创建了问题 5月15日