v2.5.2
Giriş yap

Sayfa Yenilemeden a-z / z-a vb Sıralama

aydinkeskin
621 defa görüntülendi

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.

ibrahimali
1556 gün önce

Şö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);
?>