v2.5.2
Giriş yap

PHP Sonradan Sıralama Nasıl Yapılır

spleidanger
252 defa görüntülendi

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

Cevap yaz
Cevaplar (2)
kargasa1982
455 gün önce

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.

h4ckdr0
456 gün önce

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.