ДоХтор, в массиве указана частота выбора, id картинки совпадает с индексом в массиве.
таблица (+/-)
id | $r
1 | 4
2 | 0
3 | 15
4 | 3
5 | 1
6 | 0
7 | 7
8 | 25
9 | 6
10 | 30dilp, проблема в том, что частоты указаны в php, а данные лежат в mysql.
Если можно как-то вынести их из массива в таблицу, то задача решается очень просто:
SELECT * FROM kartinka ORDER BY freq * RAND() LIMIT 1или чуть посложнее:
SELECT * FROM kartinka
WHERE freq > 0
ORDER BY -LOG(1.0 – RAND()) / freq
LIMIT 1