Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
772
Tıklama
0
Öne Çıkarma
PHP mysql rastgele eşleştirme
A
11 yıl
Onbaşı
Konu Sahibi

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 ?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



D
11 yıl
Çavuş

random kullanırsın eğer eşit gelirsede if ile tekrar randoma sokarsın


Bu mesaja 1 cevap geldi.
L
11 yıl
Er

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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.