ASP.NET,Sql Den Gelen Verileri Sıralama - Sırasını Değiştirme

oguzcan (2) 8 yıl önce sordu

Asp.Net ile bir haber sitesi yapıyorum anasayfada haberler, haber sirasi na göre küçükten büyüğe doğru sıralanıyor,her yeni bir haber eklendiğinde diğer tüm haberlerin haber sırası 1 artıyor ve yenin eklenen haberin sırası 1 oluyor. 
Sorum şu mesela admin, admin panelinden id si 10 olan ama haber sırası 5 olan haberi 3 sıraya alıack buna göre diğer tüm haber sıralamaları sıralanıcak bunu nasıl yapabilirim ?
Özetlemek gerekirse adminin haberleri istediği sırada anasayfa da göstermesi için ne yapabilirim ?

Toplam 1 cevap


alattin (17125) 8 yıl önce cevapladı

Tablonda haber sırası diye bir kolon olduğunu varsayıyorum.  Her girilen habere varsayılan bir haber sırası ataması yapmakta fayda var. Örneğin 10. 

Haber sitelerinde ilk 3, 5, 10 gibi limitli sayıda haberin sırası değiştirilir. Haber giriş sırasında haber sırası gibi bir dropdown koyarsanız ve 1den 10'a kadar seçim ve bir de varsayılan sıra ifadesini koyarsanız sorun çözülür.

Herhangi bir haberin sırası değiştiğinde ilk 10 haber için sıralamayı yeniden yaptırabilirsiniz. Burada örneğin bir haberin sırası 2. sıraya getirildiyse o zaman 2. sıradaki haberin durumuna siz karar vereceksiniz. Ya bu haber 3. haber olacak ya da bu haber varsayılan sıralama olarak 10'a atanacak.

SQL olarak da şöyle bir ikili sıralama kullanılırsınız;

SELECT HaberID, Siralama, Baslik
FROM     Haber
ORDER BY Siralama, HaberID DESC

Önce sıralamaya göre sonra haberID ya da tarihe göre sıralayabilirsiniz. Sırası değiştirilecek haber sayısını bir limitte tutarsanız her seferinde tüm haberlerin sırasını hesaplatıp değiştirmenize gerek kalmaz. İlk 10 haber için yaparsınız, işlem hızı artar.