Merhaba Arkadaşlr yaptıgım bir arama bölümünde bir sorun var

$sql = Query("select  * from tablo where title like '%".$q."%' or tags like '%".$q."%' or short like '%".$q."%' and state='publish' and d_date <= '".date('Y-m-d H:i:s')."' order by ttime desc");

sorgu budur arkadaşlar

tablodaki title short ve tags sütunlarında get ile $q değişkenime gelen

kelime varmı yokmu bakıyorum

var ise ve d_date alanındaki tarih şimdiki tarihten küçükse ttime ye göre listeletiyorum

fakat şimdiki tarihten büyük olanları da listeliyor sorunum burada

aşagıdaki kodda herhangi bir sorun yok bu like lerden yada or lardan gelen birşey olabilir diyorum ama bir türlü çözemedim

Query("select * from tablo where category IN (".$All.") and state='publish' and d_date <= '".date('Y-m-d H:i:s')."' order by ttime desc limit 0,10");
bu kod sorunsuz calışıyor tarihi şimdiki tarihten büyükse listelemiyor yani

istedigim ilk kodda tarihi şimdiki tarihten büyükse yazmasın.