arkadaşlar merhaba direk soruya geçiyorum:
şimdi elimde video db var diyelim, bölümler tablosunda şu videolar olsun:
Kavak Yelleri 1. Sezon 1. Bölüm
Kavak Yelleri 1. Sezon 2. Bölüm
Kavak Yelleri 1. Sezon 3. Bölüm
Kavak Yelleri 2. Sezon 1. Bölüm
Kavak Yelleri 2. Sezon 2. Bölüm
Kavak Yelleri 10. Sezon 1. Bölüm
Kavak Yelleri 10. Sezon 2. Bölüm
şimdi select * from videolar order by isim denildiğinde şöyle saçma sapan bir çıktı geldiğini çoğu kişi biliyordur muhtemelen:
Kavak Yelleri 1. Sezon 1. Bölüm
Kavak Yelleri 1. Sezon 2. Bölüm
Kavak Yelleri 1. Sezon 3. Bölüm
Kavak Yelleri 10. Sezon 1. Bölüm
Kavak Yelleri 10. Sezon 2. Bölüm
Kavak Yelleri 2. Sezon 1. Bölüm
Kavak Yelleri 2. Sezon 2. Bölüm
yani mysql rakamları şu şekilde sıralıyor: 1,10,11,12....,19,2,20,21,22,...,3,30
şimdi bu sorunu halletmek için sorguya şunu ekledim
select * from videolar order by isim+0
isim+0 dediğim için isim column'u nu integer'a çevirmiş oldum, şimdi böyle diyince düzgün çıktı veriyor, yani şöyle:
Kavak Yelleri 1. Sezon 1. Bölüm
Kavak Yelleri 1. Sezon 2. Bölüm
Kavak Yelleri 1. Sezon 3. Bölüm
Kavak Yelleri 2. Sezon 1. Bölüm
Kavak Yelleri 2. Sezon 2. Bölüm
Kavak Yelleri 10. Sezon 1. Bölüm
Kavak Yelleri 10. Sezon 2. Bölüm
bu şekilde mysql i yola getirmiş oluyoruz, evet gelelim benim sorunuma,
ben 1. sezondan 10. sezona değilde, 10. sezondan 1. sezona doğru çıktı almak istiyorum, bunun için ise:
select * from videolar order by isim+0 desc dediğimde de yukardaki çıktı geliyor
select * from videolar order by isim+0 asc dediğimde de yukardaki çıktı geliyor
yani asc ve desc yöntemleri yemiyor burda,
while($bas=mysql_fetch_Array($al))
{
$bas=array_reverse($bas);
...
}
dediğimde de olmuyor, bu arrayi nasıl reverse ederiz, mysql ile reverse çözümü önceliğimdir, php ile önerisi olan da yazabilir.
teşekkürler.