Nasıl bir rasgele dairesel ortak atama oluşturabilir?

0 Cevap php

Kullanıcıların bir 'oyun' için sitemde kayıt izin veriyorum; normal gibi, hepsi benzersiz kimlikler alırsınız. Zaman içinde belirli bir noktada, kayıt sona erecek. O zaman, ben çiftleri ortakları atamak kodu çalıştırmak istiyorum, ama olmaz.

Yani, şu olsaydı:

+--------+-------+
| user_id | partner |
+--------+-------+
| 1 | |
| 3 | |
| 7 | |
| 11 | |
| 12 | |
| 18 | |
+--------+-------+

Ben böyle bir şey ile sonuna kadar ne yapacağını:

+--------+--------+
| user_id | partnr |
+--------+--------+
| 1 | 7 |
| 3 | 12 |
| 7 | 18 |
| 11 | 1 |
| 12 | 11 |
| 18 | 3 |
+--------+--------+

1,7,18,3,12,11; 1,7,18,3,12,11

$query = "SELECT users FROM tabl";
$result = mysql_query ($query)
    or die ("Query '$query' failed with error message: \"" . mysql_error () . '"');

while ($row = mysql_fetch_array($result)) {
    $users[] = $row[0];
}

$current = end($users);
$partners = array();
foreach ($users as $user)
{
        $partners[$user] = $current;
        $current = $user;
}
print_r($partners);

Bu, Sjoerd sayesinde çalışır, ama ortak kolona geri yazmak gerekiyor gibi görünüyor.

0 Cevap