내 데이터베이스의 항목과 일치하는 MYSQL 전체 텍스트 검색이 있습니다.PHP - MYSQL fulltext 검색
$select = "SELECT * from menu WHERE MATCH(item) AGAINST('$this->food') ";
거기에서 사용자가 필터링 할 대상에 따라 쿼리를 수정합니다. 내 문제는 사용자가 어떤 (빈 문자열)을 검색하지 않습니다 만약 내가 그것을 원하는 있지만 나는 채식주의 2 개 필터, 을 가지고 전체 텍스트 문을 추가
if(isset($this->vegetarian)) {
echo $select .= " AND vegetarian='$this->vegetarian'";
}
if(isset($this->bread)) {
echo $select .= " AND bread='$this->bread'";
}
은, 지금은 완벽하게 작동 breadtype 데이터베이스의 모든 결과를 반환합니다. 하지만 그 문은 그 보상 할 경우 추가로 2를 추가하는 의미 - 지금은 문 위의 경우와 $ select 문을 추가 할 수 없음을 의미하고, 대신 WHERE 문을 사용하는 것
if(empty($this->food)) { $select = "SELECT * from menu"; }
. 어쨌든 MYSQL이 대신 그것을 할 수 있습니까?
if(isset($this->vegetarian) && empty($this->food)) {
echo $select .= " WHERE vegetarian=$this->vegetarian";
}
정답 만 수락합니다. – Adam