2011-01-11 3 views
1

Мне нужна помощь по планированию круглых ролей. У меня есть назначение, компания, пользователи.Раунд-планирование по расписанию

например. 2 пользователей в 1 компании

 
Appointment 1 user 1 company 1 
appointment 2 user 2 company 1 
appointment 3 user 1 company 1 
appointment 4 user 2 company 1.

Использовать скрипт php. Я застрял. У кого-то есть какое-то предложение. Пожалуйста помоги!

+2

Ваш вопрос непонятен. Вы можете перефразировать? –

+0

Вы используете базу данных? Вы пытаетесь предотвратить конфликты? вы пытаетесь заказать список людей, чтобы список равномерно отсеивал людей или, возможно, назначения? – Jason

ответ

2

Вот как реализовать основные круговой, не уверен, что это то, что вы Мент как комментаторы сказали, что вы немного расплывчаты:

<?php 

    $appointments = array(); 
    $users = array('Jon', 'Billy', 'George', 'Michael'); 

    for ($i = 0, $max=count($users); $i < $max; $i++) { 
    for($j = $i+1; $j < $max; $j++) { 
     $appointments[] = array($users[$i], $users[$j]); 
    } 
    } 

    print_r($appointments); 

?> 
1

То, что вы хотите, это декартово произведение пользователей компания.

function getAppts($users, $companies) 
{ 
    $appts = array(); 
    foreach ($users as $user) { 
     foreach ($companies as $company) { 
      $appts[] = array($user, $company); 
     } 
    } 
    return $appts; 
} 

$appts = getAppts(array('user1', 'user2'), array('company1')); 

Это будет производить комбинации, нужно:

Array 
(
    [0] => Array 
     (
      [0] => user1 
      [1] => company1 
     ) 

    [1] => Array 
     (
      [0] => user2 
      [1] => company1 
     ) 

) 

Функция позволяет добавлять пользователей или компании и получить все комбинации назначение. Затем вы можете пройти через $appts и построить свои запросы.

Смежные вопросы