我有一個MYSQL全文搜索,與我的數據庫中的項目匹配,這很好用。PHP - MYSQL全文搜索
$select = "SELECT * from menu WHERE MATCH(item) AGAINST('$this->food') ";
從那裏我細化查詢取決於用戶想要過濾。我有2個過濾器,素食和breadtype
if(isset($this->vegetarian)) {
echo $select .= " AND vegetarian='$this->vegetarian'";
}
if(isset($this->bread)) {
echo $select .= " AND bread='$this->bread'";
}
其中追加全文說法,現在這個完美的作品,雖然我的問題是,如果 用戶沒有任何搜索(空字符串),我希望它返回數據庫中的所有結果。
if(empty($this->food)) { $select = "SELECT * from menu"; }
現在意味着上述if語句我不能追加$ select語句,並且必須使用WHERE語句來代替 - 但是這將意味着增加2個額外的if語句,以補償。反正MYSQL有這樣做。
if(isset($this->vegetarian) && empty($this->food)) {
echo $select .= " WHERE vegetarian=$this->vegetarian";
}
我只接受正確答案。 – Adam