簡體   English   中英

從php&mySQL中的select語句中選擇

[英]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進行模式匹配。 字符串函數列表在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM