首页 > 解决方案 > PHP查询依赖于填写的表单

问题描述

我正在制作一个页面来从 MySQL 表中检索数据。有 6 个带有下拉菜单的字段,其中 1 是选择一个选项所必需的,其他 5 个不是必需的(可选)。

Field1 (required)
Field2 (optional)
Field3 (optional)
Field4 (optional)
Field5 (optional)
Field6 (optional)

现在我想运行 SQL 来根据填充的字段检索数据。让我们考虑以下情况:

如果只选择了2个字段,字段2
SELECT * FROM table WHERE column1 = field1 AND column2 = field2
也可以替换为其他字段(共5种组合)

如果只选择3个字段,
SELECT * FROM table WHERE column1 = field1 AND column2 = field2 AND column3=field3"
field2和field3也可以是field4,field5和field6,总共10种可能

如果选择了 4 个字段,则有 6 种可能性。

那么,如果选择了任何组合,我如何只运行一个查询来从表中选择数据?

标签: phpsqlforms

解决方案


<?php
 if(isset($_POST['field1']) && $_POST['field1']!=''){
  $sql = "SELECT * FROM table_name WHERE column1 = '".$field1."'";
   if(isset($_POST['field2']) && $_POST['field2'] != ''){
        $sql .= " AND column2 = '".$_POST['field2']."'";
    }

     // and so on

     // execute your sql statement...
 }else{
  echo 'required field1 is empty';
 }

推荐阅读