Я работаю над приложением PHP / MySQL, и у меня есть очень простая таблица, которая выглядит следующим образом:
id | name | came_with
1 John null
2 Jane 1
3 Dean null
В ней около 50 записей, но основная идея состоит в том, что она хранит людей, которые регистрируютсядля события, если они приводят гостей, их имя также сохраняется с id
человека, который пригласил их в поле came_with
, очень просто.
Я должен перемешать эти имена и разделить ихв X число групп в зависимости от того, сколько человек я хочу в каждой группе, что было бы очень легко, поскольку я могу хранить каждую запись в массиве, используйте shuffle
, чтобы рандомизировать порядок, и array_chunk
, чтобы генерировать меньшие массивы в зависимости отколичество человек.
Проблема в том, что у меня не может быть людей, которые собрались в одной группе, поэтому в этом примере Джон и Джейн не могут быть в одной группе, это нормально, хотя длячеловек, который пришел еще с двумя, чтобы попасть в одну группу, если я выберу 2 группы, так как выбора нет.Я ОЧЕНЬ растерялся в том, что логика должна быть в попытках сделать это, я не спрашиваю точный код, но идеи о том, как это сделать.
Заранее спасибо!