Цитата |
---|
kopoBko пишет: А что это за компонент такой "user.list"? вообще насколько я помню в CUSER::GetList нет рандомной сортировки => нужно предварительно составить массив ID пользователей, например: 1)узнать последний ID пользователя 2)сгенерировать массив из rand(#стартовый#,#максимальный#) 3)отфильтровать по новому массиву. Итого: 2 запроса |
А пользователь может быть удален. Или заблокирован. На малом количестве пользователей шанс попасть в такого пользователя довольно велик.)
1. Делайте выборку по всем активным пользователями с полями ID и логин (или что там вам еще нужно);
2. Кладете все элементы в массив.
3. Делаете магию рандомного числа в диапазоне от нуля до верхней границы массива - запоминаете.
4. Повторяете пункт 3 еще несколько раз, но уже с проверкой, не выпало ли одно число дважды-трижды.
5. Как только количество случайных чисел достигло 3 - переходите к следующему пункту.
6. Забираете из массива те заветные элементы, чей порядковый номер массива был указан рандомными числами.
7. Выводите куда хотите!
Надо бы редактор блок-схем к форуму прикрутить)