• 01-12-2012, 14:50:42
    #10
    asc yazarsan ilk 5 kayıtı listeler arkadaş son 5 veriyi id asc olarak listelemek istiyor.
  • 01-12-2012, 14:51:18
    #11
    SELECT * FROM uyeler ORDER BY id DESC LIMIT 10;

    kodunda ilk desc kullanırsa son 10 kayıtı sondan asc kullanırsa ilk baştaki 10 kayıtı listeler.
    arkadaşın aradığı bu değil.
  • 01-12-2012, 14:55:00
    #12
    SELECT * FROM (SELECT * FROM uyeler ORDER BY id DESC LIMIT 10) AS tablo ORDER BY tablo.id;
    Denermisin aklımada başka birşey gelmiyor...
  • 01-12-2012, 15:16:46
    #13
    Kimlik doğrulama veya yönetimden onay bekliyor.
    sezgin adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM (SELECT * FROM uyeler ORDER BY id DESC LIMIT 10) AS tablo ORDER BY tablo.id;
    Denermisin aklımada başka birşey gelmiyor...
    iyice saçmaladı hocam.
  • 01-12-2012, 15:38:38
    #14
    yapacağın şey while döngüsünün içinde
    $i=5;
    while(bla......){
    
    $q = 'degisken'.$i;
    $$q = 'aktarılacak veriler';
    
    $i--;
    }
    ekrana basarken de for ile tersten bastırabilirsin

    for($i=1; $i<6; $i++){
    $q = 'degisken'.$i;
    echo $$q;
    }
    böyle bişey aklıma geldi deneyin bakalım bi
  • 01-12-2012, 15:59:06
    #15
    buyrun çözümünüz

    $sorgu = mysql_query("SELECT * FROM dort");
    $sayi = mysql_num_rows($sorgu);
    
    $sonuc = $sayi - 5;
    
    $sor = mysql_query("select * from dort order by id asc limit $sonuc,$sayi");
    olarak listeleyebilirsiniz. 5 yerine kaç veri listelenmesini isterseniz yazabilirsiniz

    Not : şuanda kendim oluşturdum hata verme ihtimali yoktur bende sorunsuz çalışmakta
  • 01-12-2012, 16:57:44
    #16
    1. yöntem :
    Çektiğin verileri döngü içerisinde dizi değişkene alıp ksort ile yeniden sırala

    2. yöntem:
    iç içe sorgu kullan
     SELECT * FROM tablo WHERE id IN(SELECT id FROM tablo ORDER BY id DESC LIMIT 10) ORDER BY id ASC
    edit : ksort değil asort
  • 01-12-2012, 17:16:40
    #17
    Üyeliği durduruldu
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    buyrun çözümünüz

    $sorgu = mysql_query("SELECT * FROM dort");
    $sayi = mysql_num_rows($sorgu);
    
    $sonuc = $sayi - 5;
    
    $sor = mysql_query("select * from dort order by id asc limit $sonuc,$sayi");
    olarak listeleyebilirsiniz. 5 yerine kaç veri listelenmesini isterseniz yazabilirsiniz

    Not : şuanda kendim oluşturdum hata verme ihtimali yoktur bende sorunsuz çalışmakta

    katılıorum
  • 01-12-2012, 19:20:15
    #18
    $rows = 10;
    mysql_query("SELECT * FROM `table` WHERE `id` > (SELECT MAX(`id`) FROM `table`) - $rows ORDER BY `id` asc LIMIT $rows");
    iki sorgu kullanacaksanız üstteki daha şık uğraştırmaz.

    üstteki ikinci çözümdü bu arada.

    Ben böyle bir durumda şöyle yapardım.

    SELECT * FROM `table` ORDER BY `id` desc LIMIT 10
    ve id'ye göre array_reverse fonksiyonu ile işlerdim. Bunu seçmemin sebebi tek sorgu olması.