• 30-06-2010, 20:06:08
    #1
    Merhaba arkadaşlar. Demin radminin açtığı konuyu buldum ve şöyle bişey düşündüm. Ama mantığı yakalıyamadım. Yardım eden olursa sevinirim.

    Şimdi bi bot yazıcam. Bu bot resmi milli piyango sitesinden 1 yıl boyuncaki istatistlikler tarihiyle kayıt edicek. ve çıkan numaraları tabikide. Sistem 1 yıl boyunca kaydedilmiş numaraları en çok çıkandan en az çıkana doğru sıralıycak.

    yani 1 sayısı 100 defa çıkmış 2) ise 50 defa 3) 25 4) 10 5) 5 6)2

    bu tür sıralamada bana

    1-2-3-4-5-6 diye sonuç vericek. Ama hangi mantık ile en çok hangi rakam tarzı saydırıcam ona aklım ermedi. (Tabi böyle 4 5 bilinmesede şansı artırır diye düşünüyorum )
  • 30-06-2010, 23:00:25
    #2
    bu saatte çok php kodu düşünemiyorum ama aklıma ilk gelen şu,

    1-49 arasınbı full sql de bir yere işlerim. sonra gün gün çıkan sayılar teker teker sqlde update yapılır ve bulduğu yere cikmasayisi = cikmasayisi+1 yapar geçer. tüm yılı bitirdikten sonra sqld en çekerken order by cikmasayisi desc yaparsın. böylece hangi sayı kaç defa çıkmış rahatlıkla bulursun
  • 01-07-2010, 01:41:40
    #3
    Üyeliği durduruldu
    Bende bu saatte kabaca düşündüm umarım işine yarar;

    # veritabanı oluşturulur (id, sayi, hit)
    # tüm veriler çekilir -> örneğin 1 ocak 2010 tarihli çekilişin sayfasına girdin ve numaralar 1 - 2 - 3 - 4 - 5 - 6 diye sıralı
    # bu verileri explode('-', '1 - 2 - 3 - 4 - 5 - 6'); ile parçalayıp for döngüsüyle her birini veritabanına ekletilir
    # ekleme işlemi sırasında kontrol yapılır ve eğer daha önce eklenmiş ise tablodaki `hit` alanı '1' artırılır
    edit -> # nelph de aynı şeyleri yazmış hemen hemen ama daha sonrada hit sayısına göre listeleme yapılabilir

    Yazdığını doğru anladıysam bu mantık işini görecektir.
  • 02-07-2010, 01:37:58
    #4
    Tek tablo sütunları ile de yapılabilir bu. Sonuçta çıkabilecek rakamlar 0-9 arasıdır. Sıfırdan dokuz'a kadar tablolar oluşturulup her birine hit alanı eklenir. Her seferinde de hit += 1 yapılır. Ondan sonrası malum order by hit asc-desc.