У меня есть такой запрос
SELECT * FROM `prizes` WHERE `caseid` = '{$id}' AND `winner` = '0' ORDER BY RAND() LIMIT 1
Я получаю рандомный приз из базы, но есть проблема, при выдачи выдается рандом полный, т.е может 4 раза подряд выпасть дорогой приз а дешевый нет. Я добавил в таблицу параметр chance
подскажите как мне получить так-же 1 строку из базы но уже сделать выборку не только рандомно но и по шансу.
Шанс до 100, т.е если указано 90 выпадает чаще чем если указано 89 и наоборот.
Если указано 10 выпадает реже если указано 90 но выпасть может.
В базе 11 тысяч призов.
1 За ORDER BY RAND() Вам могут отрубить руки, насколько я знаю.. Просто получите все элементы в переменную, а затем выбирайте рандомный приз средствами другого языка - сэкономите запросы.
2 Как раз с помощью серверного языка можно реализовать задуманное Вами. Допустим, м два этапа. Но рандом на то и рандом, что выбирает рандомно. Вот здесь подобный вопрос был
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Ну тоесть, мне нужно, если пользователь отправить фото, то бот его скачает, и сохранит, как такое реализовать?
Помогите пожалуйста почему не работаетОшибка - Информация не занесена в базу данных
Чем вызвана ошибка array_diff(): Argument #1 is not an array?