• 20-02-2014, 00:41:47
    #1
    Üyeliği durduruldu
    Merhabalar,

    Cron ile sistemde kayıtlı her üyenin puan hücresine rasgele puan atamak istiyorum fakat rand ile sayı belirleyip, sql güncellediğimde her üyenin rasgele puanı aynı geliyor. Her üye için farklı rasgele sayı belirlemesini nasıl sağlarız?

    Kullandığım kod;

    $rsayi = rand(0,3);
    $update = mysql_query("UPDATE users SET puan=puan+$rsayi WHERE durum='1'");
  • 20-02-2014, 00:58:57
    #2
    $min = 0; 
    $max = 3; 
    $update = mysql_query("UPDATE users SET puan=puan+FLOOR($min+(RAND()*($max-$min+1))) WHERE durum='1'");
  • 20-02-2014, 01:05:45
    #3
    Üyeliği durduruldu
    Alıntı
    $update = mysql_query("UPDATE users SET puan = puan + '. rand(0,3) .' WHERE durum='1'");
    denermisin?
  • 20-02-2014, 01:09:53
    #4
    ......
  • 20-02-2014, 03:20:15
    #5
    Lacramel'in yazdığı sorgudan daha hızlısını, ancak MySQL tarafında random işlemini hızlandıracak bi yöntem kullanarak bulabilirsiniz. Bunun oldukça karışık ve zor bir konu olduğunu göz önüne alırsak, opsiyonlar arasından en iyisi o.
  • 20-02-2014, 10:06:59
    #6
    Üyeliği durduruldu
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    $min = 0; 
    $max = 3; 
    $update = mysql_query("UPDATE users SET puan=puan+FLOOR($min+(RAND()*($max-$min+1))) WHERE durum='1'");
    Evet bu şekilde halledebildim. Teşekkürler.