php - 基于 HTML 中设置的数据过滤器构建通用 PHP/MySQL 查询

标签 php mysql database codeigniter-3

我正试图找到对我的数据进行“过滤”的最佳方法。过滤器由前端的输入字段设置,基于该过滤器(输入)我需要在 PHP 中构建查询并从 MySQL 数据库检索数据。

如果我只有一个页面和一个过滤数据的查询,这会很容易,但我有更多页面从数据库周围的任何地方提取数据。

我的想法是构建前端 HTML 表单,输入对应于数据库字段,然后当我发布表单时,通过

if(some_field != '')
$q .= ' AND some_field = some_field_value';

问题是我有一些字段应该与 LIKE 进行比较,它只会变得更加复杂,引入更多的字段和值..

我确信一定有更好的方法来解决这个问题。

我想知道,是否有类似数据过滤的最佳实践的好例子?

最佳答案

据我了解,您希望后端满足不同页面的需求?并且其中一些页面具有相似的字段但可能有两个页面具有不同的查询语句需求(= vs LIKE)?如果需要使用带有 LIKE 的查询语句,您可以包含一个隐藏字段,您可以在 php 代码中检查该字段。这真的很复杂,因为您要尝试迎合不同的情况和过滤字段。

我对我的过滤所做的是为每个实体处理一个过滤器...例如,我有客户模块,它与采购订单模块有不同的过滤器...

关于php - 基于 HTML 中设置的数据过滤器构建通用 PHP/MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307194/

相关文章:

php - 具有多个字段的 MySql Distinct

php - MySql Server 的奇怪案例已经消失

php - Laravel 5.2 IF 语句语法,根据值更改名称

mysql - SQL 外部连接场景 - 提出时看起来很简单

php - 如何在一页中显示来自不同数据库表的数据

PHP 对象数组 - 尝试提取 key

php - 如何从已知和未知作者的帖子表中获取帖子

mysql - UNION ALL 的派生表和大量数据库的索引使用情况

database - 在数据库中建立关系会使它们变慢吗

mysql - 用另一个表的匹配行替换选择查询的所有行