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

基于HTML中设置的数据过滤器构建通用PHP/MySQL查询,php,mysql,database,codeigniter-3,Php,Mysql,Database,Codeigniter 3,我正试图找到对我的数据进行“过滤”的最佳方法。过滤器由前端的输入字段设置,基于这些过滤器(输入),我需要用PHP构建查询并从MySQL数据库检索数据 若我只有一个页面和一个查询来过滤数据,那个么这将很容易,但我有更多的页面从数据库的任何地方提取数据 我的想法是构建前端HTML表单,输入对应于数据库字段,然后当我发布表单时,通过 if(some_field != '') $q .= ' AND some_field = some_field_value'; 问题是,我有一些字段应该和LIKE进行

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

若我只有一个页面和一个查询来过滤数据,那个么这将很容易,但我有更多的页面从数据库的任何地方提取数据

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

if(some_field != '')
$q .= ' AND some_field = some_field_value';
问题是,我有一些字段应该和LIKE进行比较,引入更多的字段和值只会变得更复杂

我相信一定有更好的办法来解决这个问题


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

我的理解是,您希望后端满足不同的页面需求?其中一些页面具有类似的字段,但可能有两个页面对查询语句的需求不同(=vs LIKE)?如果php代码需要使用类似的查询语句,则可以在php代码中包含一个隐藏字段。这将真的很复杂,因为你正试图迎合不同的情况和过滤字段


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

我理解的是,您有不同的页面,您希望您的后端满足吗?其中一些页面具有类似的字段,但可能有两个页面对查询语句的需求不同(=vs LIKE)?如果php代码需要使用类似的查询语句,则可以在php代码中包含一个隐藏字段。这将真的很复杂,因为你正试图迎合不同的情况和过滤字段

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