• 27-06-2017, 22:23:35
    #1
    Merhabalar İl , İlçe , Semt Olarak İç içe select Sorgulamam Var Ben Bunu sadece ilan girilen iller ,ilçeler ve semtler olarak listeleme yapmak istiyorum left join ve group concat ile listeleme yapıyorum ama select sorgusunda olmuyor , this olarak bir üst sorguyu tanımlamam lazım ama hata alıyorum. listelenmiyor . tek başına herhangi bir sorun yok ,

    orjinal sorgum ben aşağıdaki gibi yapmaya çalışıyorum.

    // Il
    		if($this->tur == 'ulke' or $this->tur == 'il'){
    			if(!$this->ulkeno){
    				$sorgu = $dba->query("SELECT no FROM adres_ulke ORDER BY sira DESC, ulke ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ulkeno = $sonuc['no'];
    			}
    			$sorgu = $dba->query("SELECT no,il FROM adres_il WHERE ulke='$this->ulkeno' ORDER BY sira DESC, il ASC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $il[] = "['$sonuc[no]','$sonuc[il]']";
    		}
    
    		// Ilce
    		if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce'){
    			if(!$this->ilno){
    				$sorgu = $dba->query("SELECT no FROM adres_il WHERE ulke='$this->ulkeno' ORDER BY sira DESC, il ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ilno = $sonuc['no'];
    			}
    			$sorgu = $dba->query("SELECT no,ilce FROM adres_ilce WHERE il='$this->ilno' ORDER BY sira DESC, ilce ASC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $ilce[] = "['$sonuc[no]','$sonuc[ilce]']";
    		}
    
    		// Semt
    		if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce' or $this->tur == 'semt'){
    			if(!$this->ilceno){
    				$sorgu = $dba->query("SELECT no FROM adres_ilce WHERE il='$this->ilno' ORDER BY sira DESC, ilce ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ilceno = $sonuc['no'];
    			}
    			$sorgu = $dba->query("SELECT no,semt FROM adres_semt WHERE ilce='$this->ilceno' ORDER BY sira DESC, semt ASC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $semt[] = "['$sonuc[no]','$sonuc[semt]']";
    		}
    yapmaya çalıştığım ve hata aldığım sorgum

    // Il
    		if($this->tur == 'ulke' or $this->tur == 'il'){
    			if(!$this->ulkeno){
    				$sorgu = $dba->query("SELECT no FROM adres_ulke ORDER BY sira DESC, ulke ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ulkeno = $sonuc['no'];
    			}
    			$sorgu = $dba->query("SELECT ilanlar.il,adres_il.no,adres_il.il,group_concat(adres_il.no order by adres_il.no separator ',') FROM ilanlar LEFT JOIN adres_il on (ilanlar.il=adres_il.no) WHERE ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.il order by count(*) DESC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $il[] = "['$sonuc[no]','$sonuc[il]']";
    		}
    
    		// Ilce
    		if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce'){
    			if(!$this->ilno){
    				$sorgu = $dba->query("SELECT no FROM adres_il WHERE ulke='$this->ulkeno' ORDER BY sira DESC, il ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ilno=$sonuc['no'];
    			}
    			$sorgu = $dba->query("SELECT ilanlar.ilce,adres_ilce.no,adres_ilce.ilce,group_concat(adres_ilce.no order by adres_ilce.no separator ',') FROM ilanlar LEFT JOIN adres_ilce on (ilanlar.ilce=adres_ilce.no) WHERE ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.ilce order by count(*) DESC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $ilce[] = "['$sonuc[no]','$sonuc[ilce]']";
    		}
    
    		// Semt
    		if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce' or $this->tur == 'semt'){
    			if(!$this->ilceno){
    				$sorgu = $dba->query("SELECT no FROM adres_ilce WHERE il='$this->ilno' ORDER BY sira DESC, ilce ASC LIMIT 1");
    				$sonuc = $dba->fetch_assoc($sorgu);
    				$this->ilceno = $sonuc['no'];
    			}
    			$sorgu = $dba->query("ilanlar.semt,adres_semt.no,adres_semt.semt,group_concat(adres_semt.no order by adres_semt.no separator ',') FROM ilanlar LEFT JOIN adres_semt on (ilanlar.semt=adres_semt.no) WHERE  ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.semt order by count(*) DESC");
    			while($sonuc = $dba->fetch_assoc($sorgu)) $semt[] = "['$sonuc[no]','$sonuc[semt]']";
    		}
  • 29-06-2017, 12:42:39
    #2
    Sorun devam ediyor

    @byburkay - byburkay.com