$sorgu değişkeninin işlemden işleme değişiklik gösterdiğini ve direkt sorgu yaptığını düşünüyordum, böyle olduğunu bilsem hiç uğraşmazdık :)

Önce sorgu değişkenindeki sorgu fonksiyonlarını kaldıralım, sadece "string" değişkeni olsun.

$sorgu = "Select id,baslik,fiyat,icerikid,seflink,eklenmeTarihi,metrekare,(Select baslik From muh_iller Where muh_iller.id=ilan.ilid)as ilBaslik,(Select baslik From muh_ilceler Where muh_ilceler.id=ilan.ilceid)as ilceBaslik,(Select baslik From ilan_durum Where (ilan_durum.id=ilan.durumid || ilan_durum.icerikid=ilan.durumid) && ilan_durum.dil='".seciliDil."')as ilanDurum,(Select d1.durum From dopingsiparisler d1,dopingsiparislerdetaylari d2 Where (d1.ilanid=ilan.id || d1.ilanid=ilan.icerikid) && d1.odemedurum='1' && d1.durum='1' && d2.siparisid=d1.id && d2.dopingturu='2' && d2.bitisTarihi > '".date("Y-m-d H:i:s")."')as ustsiradoping ,(Select d1.durum From dopingsiparisler d1,dopingsiparislerdetaylari d2 Where (d1.ilanid=ilan.id || d1.ilanid=ilan.icerikid) && d1.odemedurum='1' && d1.durum='1' && d2.siparisid=d1.id && d2.dopingturu='5' && d2.bitisTarihi > '".date("Y-m-d H:i:s")."')as dopingrenkliarkaplan From ilan Where dil='".seciliDil."' && onay='1' && ilandurum='1' $aramaSorgusu $siralamaSorgusu";


Sorgu değişkenindeki string veriyi buraya atıp ekstra değer ekledikten sonra postlayalım.

//ILANCEK DEĞİŞKENİ VE WHİLE DÖNGÜSÜ
$ilancek = $db->query($sorgu.' LIMIT '.$limit.', '.$sayfada);
while($ilan = $ilancek){


Eğer bu $sorgu değişkeni sadece $ilancek değişkeninde kullanılıyorsa farklı fonksiyonlarla daha stabil hale getirilebilir ancak farklı sorgularda da kullanılıyorsa uğraştırıcı bir iş olur ve uğraşmaya değmez.