Şimdi Ara

PHP mysql rastgele eşleştirme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
743
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • TABLOLAR
    # users
    # eslesme

    Users tablosundaki kullanıcıların idlerini kendi aralarında eşleştirip esleme tablosuna nasıl yazılabilir

    ÖRNEK

    USERS tablosundaki kullanıcı idleri => 1,2,3,4,5,6

    Eşleşme
    1 ile 5
    2 ile 6
    3 ile 4
    4 ile 3
    5 ile 1
    6 ile 2

    Üye idlerinin kendileri ile eşleşmemesi lazım.
    eşleşme yapıldıktan sonra eslesme tablosuna yardırmam lazım.
    Bunu nasıl yapabilirim ?



  • random kullanırsın eğer eşit gelirsede if ile tekrar randoma sokarsın
  • php nin mt_rand() fonksiyonu kullanılabilir. endüşük ID ve en yüksek ID değerlerini fonksiyona verip ikisi arasında rasgele bir integer sayı alınır.

    senin örneğinde; mt_rand(1,6) 1 ile 6 arasında rasgele bir sayı verir. üretilen iki numarayı karşılaştırır aynı ise tekrar üretirsin.

    ayrıca, bence, veritabanına yazdığın kayıtın aynısı varmı diye kontrol ettirmekte de fayda var. yoksa aynı kayıtı tekrar yazarsın.

    örneğin eşleşme tablosunda id1, id2 alanları olsun;

    select * from eslesme where (id1=sayi1 AND id2=sayi2) OR (id1=sayi2 AND id2=sayi1)

    kayıt dönerse yazdırmazsın, yoksa yazdırırsın.

    edit : neden rand() değilde mt_rand() ? yazdığına göre 4 kat hızlı çalışıyormuş



    < Bu mesaj bu kişi tarafından değiştirildi lightnet -- 5 Mayıs 2014; 20:01:30 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.