Mysql
 sql >> Datenbank >  >> RDS >> Mysql

php mysql erweiterte suche auswahlfeld und radio box probleme

Ihre Abfrage hat aufgrund des abschließenden OR ein falsches Ergebnis zurückgegeben Der Operator hat alle Datensätze mit descriptions qualifiziert mit $oneword . Stattdessen müssen Sie () verwenden um die Textsuchbedingungen zu gruppieren.

select * 
from mytable 
where time <= '".$time ."' and person = '".$person."' 
  and  category in ('". implode("','", $_POST['categories']) ."') 
  and  cities in ('". implode("','", $_POST['cities']) ."')
  and  weather in ('". implode("','", $_POST["weather"]) ."') 
  and (word like '%".$oneword."%' or description like '%".$oneword."%');