Помогите с кодом

Globalus

Новичок
Помогите с кодом

Вот к примеру код который будет выводить строки от большего к меньшему по содержимому столбца “prioritet”

mysql_query("SELECT * FROM `rondom` ORDER by prioritet DESC");

Задача в том что нужно сделать вывод строк рандомом но что бы те у которых значение “prioritet” будет больше, показывалось чаще.
 

dimagolov

Новичок
Задача в том что нужно сделать вывод строк рандомом но что бы те у которых значение “prioritet” будет больше, показывалось чаще.
Если это сформулировать по-человечески, то тебе нужно выбирать строки с частотой, пропорциональной приоритету. И тебе за одно событие нужно выбирать одну строку, так? Если приоритет может быть от 1 до N, то строки с приоритетом 1 должны быть выбраны по 1 разу, с приоритетом = 2 выбраны 2 раза, с приоритетом N соответственно по N раз. То есть всего событий будет S = 1 * K1 + 2 * K2 + ... N * Kn, где Ki это кол-во строк с приоритетом I. Это и будет общее пространство событий. То есть для начала тебе нужно составить таблицу, в которой сосчитать кол-во строк с каждым приоритетом, потом посчитать указанную выше сумму и уже потом можно выбирать строки смотря на то, какое число нам выдал генератор псевдослучайных чисел. Определять какую и с каким приоритетом строку выбирать будешь так: Выпало число R [1,S], находим m такое, что Sm-1 < R <= Sm, значит нужно выбирать строку с приоритетом M, которую именно решать по отношению M * Km к R - Sm-1
 
Сверху