php - 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 种可能性。
那么,如果选择了任何组合,我如何只运行一个查询来从表中选择数据?
解决方案
<?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';
}
推荐阅读
- c# - Web API + Azure App Insights 将数据从 ActionFilter 传递到 ITelemetryProcessor
- javascript - 仅在 IE 中找不到模块“反应”
- node.js - API 响应数据最佳实践 - nodejs
- javascript - 查找 Javascript 用法
- javascript - 将数组拆分为从负到正的范围
- amazon-web-services - 是否有一份清晰简明的 AWS 产品列表及其主要功能?
- python - Python 命令错误通过
- maven - 为什么在非中央存储库中获取原型时必须使用配置文件?
- uiview - 添加到 SKScene 的 UIView 有奇怪的边框
- c++ - 我的 SWIG 类型图有什么问题?