PHP Sonradan Sıralama Nasıl Yapılır
Merhaba herkese iyi çalışmalar veritabanından ürün fiyatlarımı sıralıyorum
15
20
30
şeklinde geliyor fakat bu ürünlerin kategorilerinin bazılarının komisyonu var
durum böyle olunca ben veritabanından urun_fiyat asc şeklinde sıralasam bile sonradan ekrana yazdırırken kategori komisyonunu hesaplattırırken sıralama aynı kalıyor fakat fiyatlar şöyle değişiyior
35
20
30
yani ilk gelen fiyat aslında daha ucuz fakat sonradan kod müdahalesi ile kategori komisyonu ekliyoruz bundan dolayı daha yüksek çıkıyor fiyat
bunu nasıl sonradan veya mysql'de sorgu yazarken küçükten büyüğe doğru sıralayabiliriz?
yani yukarıdaki 35 , 20 ,30 şeklinde değilde
20
30
35
şeklinde olacak umarım anlatabilmişimdir teşekkürler
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
iki farklı yolla halledebilirsin.
1) DB üzerinden çektiğiniz ID & Fiyat ilişkili olarak bir array içine koyun ve ardından array değerini küçükten büyüğe doğru basitçe sıralayabilirsiniz.
2) Çektiğiniz verileri çekilen sırası ile ayrı ayrı DIV yapıyorsanız, sayfa yüklendiği anda jquery ile div değerlerine göre bir sıralama yapabilirsiniz.
bunların içinde en az karışık ve hızlı çözüm olanı array olacaktır.
Eğer veritabanındaki ürün fiyatından sonra kategori komisyonunu eklemek istiyorsanız, sorgunuzu şu şekilde değiştire bilirsiniz:
SELECT *, (urun_fiyat + kategori_komisyon) AS yeni_fiyat
FROM urunler
ORDER BY yeni_fiyat ASC;
Bu sorgu, veritabanındaki tüm ürünleri ve her ürün için hesaplanan "yeni fiyat"ı seçer ve bu yeni fiyatları büyükten küçüğe sıralar.