select from a select statement in php & mySQL


select from a select statement in php & mySQL

我正在尝试为数据库搜索添加过滤器。我搜索了一些文本,并试图在标题中找到包含该文本的项目。我还有一个价格范围过滤器。该代码在下面,工作得很好

 $sql = "SELECT * FROM items where title LIKE '%". $title ."%' AND price > '". $price1 ."' AND price < '".$price2."' Limit 70";

现在我正在尝试越来越多的过滤器。是否从上述代码的输出中进行了选择?我不想一直用大量的if语句做一个更长的SELECT语句。我更愿意接受上一个选择的输出,并用另一个选择来完善它。这可能吗?

编辑1上下文:

用户是输入信息的人。这是用于搜索我的网站上的项目。

如果使用纯SQL,除了在WHERE原因中添加许多不同的条件之外,没有其他有用的方法了。在查询中可以使用几个糟糕的SELECT语句,但这既不会提高代码的可读性,也不会加快代码的速度。

一个更优雅的解决方案是使用查询对象或另一种面向对象的查询抽象形式(例如ZendDB)。

您可以使用一些mysql字符串函数,如INSTR()、MATCH,这将使您的生活更加轻松,也有助于代码的可读性。也可以使用REGEXP和NOT REGEXP进行图案匹配。字符串函数列表在这里。