Sayfa Yenilemeden a-z / z-a vb Sıralama
Merhaba Arkadaşlar.
sayfa yenilemeden var sayfaya dökülmüş olan verileri şarta göre sıralamayapmak istiyorum.
select =
stok ta olanlar
a dan z ye
z den a ya
en ucuz
en pahalı
bu konuda yardımcı olabilirmisiniz.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
malesef beceremedim pek
<div class="shop-select" name="filter" id="filter">
<select>
<option value="new">Yeni eklenenler</option>
<option value="AZ">A dan Z ye</option>
<option value="ZA">Z den A ya</option>
<option value="stok">Sadece Stoktakiler</option>
</select>
</div>
<div class="shop-bottom-area mt-35">
<div class="tab-content jump">
<div id="shop-1" class="tab-pane active">
<div class="row responsive-md-class">
<div class="col-xl-3 col-md-4 col-sm-6 ">
<article class="list-product">
<div class="img-block">
<div class="quick-view">
<a class="quick_view" href="#" data-link-action="quickview" title="Quick view" data-toggle="modal" data-target="#exampleModal">
<i class="ion-ios-search-strong"></i>
</a>
</div>
</div>
</article>
</div>
</div>
</div>
</div>
</div>
dediğim gibi javasciprt ile nerde ise alakam bile yok
//Ilgili divin icine data.success i yazdıracaksın
// su kısmı pek algılayamadım o yüzden de çalışmamış olabilir
$filterdata = $_POST["datafilter"];
if($filterdata == "AZ") {
$sqlend = "ORDER BY id DESC";
}
else if ($filterdata == "ZA") {
$sqlend = "ORDER BY id ASC";
}
else if ($filterdata == "new") {
$sqlend = "ORDER BY id ASC";
}
else if ($filterdata == "stok") {
$sqlend = "ORDER BY stok DESC";
}
$liste = pre("SELECT * FROM urunler ".$sqlend."");
$liste->execute([]);
$select = $liste->fetch(2);
foreach($select as $row){
$array["success"] .= $row["name"];
}
echo json_encode($array);
yinede cevabın için teşekkürler @ibrahimali
Şöyle yapabilirsin bence:
Select oluşturup, jquery de .change() ile değişimi yakalayıp daha sonrasında her değişime göre post yapa bilirsin
Örnek HTML:
<select name="filter">
<option value="atoz">A - dan Z - ye</option>
<option value="ztoa">Z - dan A - ya</option>
<option value="pricelowtohigh">Önce ucuz</option>
<option value="pricehightolow">Önce pahalı</option>
</select>
Jquery:
$('#filter').on('change', function(){
var datafiler = this.value;
$.ajax({
type: "POST",
url: '/filter.php',
data: {"datafilter":datafilter},
dataType: "json",
success: function (data)
{
if(data.error) {
alert(data.error);
}
else {
//Ilgili divin icine data.success i yazdıracaksın
}
}
},
});
});
filter.php:
<?php
$filterdata = $_POST["datafilter"];
if($filterdata == "atoz") {
$sqlend = "ORDER BY name DESC";
}
else if ($filterdata == "ztoa") {
$sqlend = "ORDER BY name ASC";
}
else if ($filterdata == "pricelowtohigh") {
$sqlend = "ORDER BY price ASC";
}
else if ($filterdata == "pricehightolow") {
$sqlend = "ORDER BY price DESC";
}
<!-- Sql den select işleminin sonuna $sqlend i ekliyeceksin, döngüye salandan sonra success değişkenine atayacaksın -->
<!-- Örnek -->
while($row = $select->fetch())
$array["success"] .= $row["name"];
}
echo json_encode($array);
?>
datatables site tarafında işime pek yaramıyorda ajax kısmında sayfa yenilenmeden otomatik direk listeme işimi görür
fakat benim bilgim ajax tarafında çok kıt :)