Merhabalar , Birkaç yerde daha takıldım
sorunum Şöyle Şimdi Multiple Select olarak jquery ile birden fazla değer seçip formdan sayfaya gönderiyorum,

İl , İlçe ve Semt tablolarım var
Semti seçince valuede üç değer yolluyorum virgül ile ayırarak ilini ilçesini ve semtini hal böyle olunca birde başka bir semt seçti diyelim o zamanda yine iki value değeri yolluyor birde başka semt seçse hepsi birbirine girdi 8 değer oluyor o zamanda ben şimdi bunu nasıl ayırıp listeleyebilirim ,sadece ili alınca tek değer olarak listeleyebiliyorum foreach falan deneyeyim dedim ama işin içinden çıkamadım

select sorgum aşağıdaki gibidir,
   <select class="multipleSelect" multiple="multiple" name="iller[]" >
                  

<optgroup label="Şehirler">

				  <?php header('content-type: text/html; charset=utf-8');
$Recordset1fil=$dba->query("SELECT ilanlar.il,adres_il.no as il_no,adres_il.il,COUNT(adres_il.il) as aldigi_hit_sayisi,group_concat(adres_il.no order by adres_il.no separator ',')

FROM ilanlar
INNER JOIN adres_il on (ilanlar.il=adres_il.no)
INNER JOIN adres_ilce on (ilanlar.ilce=adres_ilce.no)
INNER JOIN adres_semt on (ilanlar.semt=adres_semt.no) WHERE ilanlar.il and ilanlar.ilce and ilanlar.semt and ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.il");
		 	 while($row_Recordset1fil=$dba->fetch_assoc($Recordset1fil))



{ ?>



  <option value="<?php echo $row_Recordset1fil['il_no']; ?>"> <?php echo "<font style='font-weight:bold;'>"; echo $row_Recordset1fil['il']; echo "</font> İli (";  echo $row_Recordset1fil['aldigi_hit_sayisi']; echo " ilan )"; ?></option>
      <?php }  ?>

 </optgroup>
     





<optgroup label="İlçeler">


<?php header('content-type: text/html; charset=utf-8');
$Recordset1filce=$dba->query("SELECT ilanlar.il,adres_il.no as il_no,adres_il.il,COUNT(adres_ilce.ilce) as aldigi_hit_sayisi,ilanlar.ilce,adres_ilce.ilce,adres_ilce.no  as ilce_no,group_concat(adres_ilce.no order by adres_ilce.no separator ',')

FROM ilanlar
INNER JOIN adres_il on (ilanlar.il=adres_il.no)
INNER JOIN adres_ilce on (ilanlar.ilce=adres_ilce.no)
INNER JOIN adres_semt on (ilanlar.semt=adres_semt.no) WHERE ilanlar.il and ilanlar.ilce and ilanlar.semt and ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.ilce");
		 	 while($row_Recordset1filce=$dba->fetch_assoc($Recordset1filce)){ ?>

			 

<option value="<?php echo $row_Recordset1filce['il_no']; ?>,<?php echo $row_Recordset1filce['ilce_no']; ?>"> <?php echo "<b>"; echo $row_Recordset1filce['ilce']; echo "</b> İlçesi (";  echo $row_Recordset1filce['aldigi_hit_sayisi']; echo " ilan) ("; echo $row_Recordset1filce['il']; echo ")";  ?></option>
    
      <?php }  ?> </optgroup>
<optgroup label="Semtler">
<?php
header('content-type: text/html; charset=utf-8');
$Recordset1fsemt=$dba->query("SELECT ilanlar.il,adres_il.no as il_no,adres_il.il,COUNT(adres_semt.semt) as aldigi_hit_sayisi,ilanlar.ilce,adres_ilce.no  as ilce_no,adres_ilce.ilce,ilanlar.semt,adres_semt.no  as semt_no,adres_semt.semt,group_concat(adres_semt.no order by adres_semt.no separator ',')

FROM ilanlar
INNER JOIN adres_il on (ilanlar.il=adres_il.no)
INNER JOIN adres_ilce on (ilanlar.ilce=adres_ilce.no)
INNER JOIN adres_semt on (ilanlar.semt=adres_semt.no) WHERE ilanlar.il and ilanlar.ilce and ilanlar.semt and ilanlar.durum not in(1,2,3,4,5,6) GROUP BY ilanlar.semt");
		 	 while($row_Recordset1fsemt=$dba->fetch_assoc($Recordset1fsemt)){ ?>
 
<option value="<?php echo $row_Recordset1fsemt['il_no']; ?>,<?php echo $row_Recordset1fsemt['ilce_no']; ?>,<?php echo $row_Recordset1fsemt['semt_no']; ?>"> <i class=fa fa-angle-right aria-hidden=true></i> <?php echo "<b>"; echo $row_Recordset1fsemt['semt']; echo "</b> Semti (";  echo $row_Recordset1fsemt['aldigi_hit_sayisi'];  echo " ilan) ("; echo $row_Recordset1fsemt['il'];  echo ", ";  echo $row_Recordset1fsemt['ilce']; echo ") "; ?></option>
      
      <?php }  ?></optgroup>
            </select>
            <button class="submitBtn" type="submit">Submit</button>

            <script>

                $('.multipleSelect').fastselect();

            </script>
listeleme sayfam ise aşağıdaki gibidir ,
başka select sorgularım daha var
		 $currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 15;
$pageNum_Recordset1 = 1;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = ($pageNum_Recordset1 - 1) * $maxRows_Recordset1;




foreach ($_GET['iller'] as $aranacak)
    echo $aranacak."\n";

@$sattt=$_GET["arass"];
@$tipp=$_GET["tip"];

@$kont=$_GET["konutturu"]; 

@$semte=$_GET["ilce"]; 
 

@$semt=$_GET["semt"]; 



@$fbir=$_GET["fb"];
@$fiymin=$_GET["fiymin"];
@$fiymax=$_GET["fiymax"];

@$siralama=$_GET["siralama"]; 

if($siralama==NULL){ 
$siralama='tarih DESC'; 
} 
else if($siralama==fiyatartan){ 
$siralama='fiyat asc'; 
} 
else if($siralama==fiyatazalan){ 
$siralama='fiyat desc'; 
} 
else if($siralama==tarihartan){ 
$siralama='tarih asc'; 
} 
else if($siralama==tarihazalan){ 
$siralama='tarih desc'; 
} 
else if($siralama==pop){ 
$siralama='ziyaret desc'; 
} 


if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  @$all_Recordset1 = $dba->query($query_Recordset1);
  @$totalRows_Recordset1 = $dba->num_rows($all_Recordset1);
}






$sqlhaberlerziyaretartir="update adres_semt set ziyaret=ziyaret+1 where no='$semt'";
$dba->query($sqlhaberlerziyaretartir);
$ilceziyaret="update adres_ilce set ziyaret=ziyaret+1 where no='$semte'";
$dba->query($ilceziyaret);
$ilziyaret="update adres_il set ziyaret=ziyaret+1 where no='$aranacak'";
$dba->query($ilziyaret);

$kategoriziyaret="update turler set ziyaret=ziyaret+1 where tur='$kont'";
$dba->query($kategoriziyaret);

$query_Recordset1 = "SELECT * FROM ilanlar left join resimler on (resimler.id = ilanlar.id) WHERE ilanlar.durum like '%$sattt%' and ilanlar.konutturu like '$kont%' and ilanlar.tipi like '%$tipp%' and ilanlar.durum not in(1,2,3,4,5,6) and ilanlar.il like '%$aranacak%' and ilanlar.ilce like '%$semte%' and ilanlar.semt like '%$semt%'";
if(@$_GET['fiymin']){
	$query_Recordset1.= " and ilanlar.fiyat>='".$_GET['fiymin']."'";
}
if(@$_GET['fiymax']){
	$query_Recordset1.= " and ilanlar.fiyat<='".$_GET['fiymax']."'";

}
$query_Recordset1.= " ORDER BY ilanlar.".$siralama."";  







$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = $dba->query($query_limit_Recordset1) ;
$row_Recordset1 = $dba->fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  @$all_Recordset1 = $dba->query($query_Recordset1);
  @$totalRows_Recordset1 = $dba->num_rows($all_Recordset1);
} 

$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1);
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false && 
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
farkındayım kimse böyle bir külfete girip uğraşmak istemez ama yaklaşık 6-7 saatir konu açmamak için arıyorum ama sadece illeri tek seçip yaptığında listeletebildim .

form ve sorgu örnekleride verseniz yeterli olacaktır bana ,kendim yine uğraşabilirim ama örnek bulamadım .