Страница 1 из 1

Редкость random числа и высшее число из базы.

Добавлено: 17 мар 2011, 22:57
Sauron
Я знаю что на этом форуме живут самые умные люди интернета.
У меня вот тут проблемки некоторые и их 2 помогите решить пожалуйста...

1. Редкость рандомного числа.

Пример кода (написал прям на форуме)

Код: Выделить всё

 $random=mt_rand(1,5);if($random==1) echo "число 1";else if($random==2) echo "число 2";else if($random==3) echo "число 3";else if($random==4) echo "число 4";else if($random==5) echo "число 5"; 
Будет выводится текст в зависимости от случайного числа.
Нужно сделать так чтобы случайное число выпадало также, только чтобы число 5 выпадало реже других.

2. Сортировка и вывод данных из базы.

Нужно вывести столбик monets из таблицы stat.
Там записаны просто числа, сколько у кого монет.
Нужно просто вывести весь столбик в приложение, а также рассортировать его в порядке чтоб на первом месте было самое большое число.

Re: Редкость random числа и высшее число из базы.

Добавлено: 17 мар 2011, 23:38
alexei
1)

Код: Выделить всё

$random=mt_rand(1,5);$rand=mt_rand(1,5);if($rand!=5)$random=mt_rand(1,4);if($random==1) echo "число 1";else if($random==2) echo "число 2";else if($random==3) echo "число 3";else if($random==4) echo "число 4";else if($random==5) echo "число 5"; 
Можно и так.

Re: Редкость random числа и высшее число из базы.

Добавлено: 17 мар 2011, 23:56
Александр
Sauron писал(а):только чтобы число 5 выпадало реже других
Насколько реже?
Можно, например, сделать так:

Код: Выделить всё

$random=mt_rand(1,100);if($random>=1 && $random<=30) echo "число 1";else if($random>=31 && $random<=50) echo "число 2";else if($random>=51 && $random<=70) echo "число 3";else if($random>=71 && $random<=90) echo "число 4";else echo "число 5"; 
100 - общая вероятность выбора случайного числа 1+2+3+4+5
Вычисляем вероятности выбора каждого числа. Можно задать каждому числу свою вероятность.
В примере выше так:
1 - 30%
2 - 20%
3 - 20%
4 - 20%
5 - 10%

Если в результате нужно именно число от 1 до 5, то какой-то другой переменной присваивать значение числа.

Sauron писал(а):рассортировать его в порядке чтоб на первом месте было самое большое число

Код: Выделить всё

SELECT monets FROM stat ORDER BY monets DESC

Re: Редкость random числа и высшее число из базы.

Добавлено: 18 мар 2011, 11:57
Sauron
Нет ну я всегда знал что вы Александр очень умный и спасибо вам за помощь.
Помогли и с тем и с тем. Тему можно закрывать.