• 12-06-2007, 22:48:52
    #1
    Öğrenme amaçlı bir oyun scripti yazmaya çalışıyorum anasayfada rastgele oyun çekmek istiyorum bunu nasıl yapabilirim
    tablo adı: oyunlar
    alanlar: oyun_id , oyun_baslik

    Yardım eden herkese teşekkürler
  • 12-06-2007, 23:05:48
    #2
    aşaıdaki sorgu 10 adet rastgele kayıt döndürür. bunlarıda döngü içersine alıp sayfaya yazdırabilirsin.

    select * from oyunlar group by RAND() limit 10
    not: bu komut sadece mysql veritabanlarında çalışır. mssql de çalışmaz.
  • 12-06-2007, 23:30:50
    #3
    çok teşekkürler
    +rep
  • 14-05-2008, 19:28:34
    #4
    Teşekkürler Sting..
  • 15-05-2008, 00:04:08
    #5
    php ile yapılışı ise:
    <?php
    $sayi=rand(1,10);
    $sorgu = mysql_fetch_array(mysql_query("Select * From oyunlar where oyun_id = '$sayi'"));
    echo $sorgu['oyun_baslik'];
    ?>
  • 15-05-2008, 19:33:17
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    php ile yapılışı ise:
    <?php
    $sayi=rand(1,10);
    $sorgu = mysql_fetch_array(mysql_query("Select * From oyunlar where oyun_id = '$sayi'"));
    ?>
    [/php]
    yukarıda ki kod id'si 1 ile 10 arasında bir oyunu çeker , eğer rast gele 1 oyun gelsin isteniyorsa şu yolda kullanılabilir

    select * from oyunlar order by rand() limit 1
  • 15-05-2008, 19:46:26
    #7
    Üyeliği durduruldu
    50k üzerinde kayıt varsa rand() fonksiyonu mysql i öldürür benden söylemesi, bunun yerine
    <?php
    $kayitsayisi= mysql_num_rows(mysql_query("Select * From oyunlar"));
    $sayi=rand(1,$kayitsayisi);
    $sorgu = mysql_fetch_array(mysql_query("Select * From oyunlar where oyun_id = '$sayi'"));
    ?>
    daha mantıklı ve hızlı
    fakat oyun_id ler 1 den sona kadar eksiksiz ardışık birşekilde olmalı
  • 16-05-2008, 00:55:07
    #8
    jagum adlı üyeden alıntı: mesajı görüntüle
    yukarıda ki kod id'si 1 ile 10 arasında bir oyunu çeker , eğer rast gele 1 oyun gelsin isteniyorsa şu yolda kullanılabilir
    select * from oyunlar order by rand() limit 1
    selim61 in dediğini söylemek isteyecektim ama alta açıklama düşmeyi unutmuşum

    mysql fonksiyonlarını büyük db lerde az kullanmak iyidir. sql serverı aşırı kasar.
    mysql fonksiyonlarının yaptığı işlemleri php ile yapmanızı öneririm.
  • 16-05-2008, 01:09:22
    #9
    selim61 adlı üyeden alıntı: mesajı görüntüle
    50k üzerinde kayıt varsa rand() fonksiyonu mysql i öldürür benden söylemesi, bunun yerine
    <?php
    $kayitsayisi= mysql_num_rows(mysql_query("Select * From oyunlar"));
    $sayi=rand(1,$kayitsayisi);
    $sorgu = mysql_fetch_array(mysql_query("Select * From oyunlar where oyun_id = '$sayi'"));
    ?>
    daha mantıklı ve hızlı
    fakat oyun_id ler 1 den sona kadar eksiksiz ardışık birşekilde olmalı
    MYSQL RAND 'in bu kadar kastigini bilmiyordum.
    Yuksek hitli ve anlik ortalama 100 online ziyaretcisi olan sitemde RAND() kullaniyordum.Sunucuda mysql server felaket sekilde sisiyordu.
    1den fazla veri cekmek icin ne yapacagiz?