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 .