![]() |
|
||||||||||
|
|||||
|
Ребята и девчата, подскажите мне пожалуйсто как сделать такую вещь.
Принципа такой: генерируется случайное число в диапазоне от 1 до 6 и добавляется в Базу данных (или если можно сделать это без базы данных, о в фаил). В другой раз если пользователь нажимает на кнопку, для генераци случайного числа в том же диапазано и ему выпадает выпавшее ранее число, то ему говорят, что данное число уже было, и вам не повезло, если такова число не было в базе данных, то выводиться сообщение, что все прошло хорошо, а число потом добавляется в базу данных, и дальше повторяется дальше, только в базе данных уже два числа, и так далее пока там не будет все шесть чисел. Мне нужны любые советы по этой проблеме, потому, что я вообще не знаю как это сделать, даже как таблицу постоить (всмысле название строк и столбцов). Если кого интересует зачем мне это нужно, то вот зачем. Я делаю игру, текстовую. Там будет сообщение: хотите проверить свою удачу, нажмите эту кнопку. при нажатии выпадает число, если оно ранее было в БД, то не удача, а если его не было, то удача, но оно идет в БД (на бумаге оно зачеркивается). Может кто подскажет, на чем это вообще лучше реализовать.
__________________
diler, просто diler |
|
|||||
|
Ветеран форума
|
SELECT COUNT(*) FROM `table` WHERE `num` = '".$num."'"
если каунт > 0 значит число было... |
|
|||||
|
Регистрация: Apr 2004
Адрес: Минск
Сообщений: 176
|
<php
//генерировать число $num=rand(10000,99999); //задать диапазон 1-6 (присвоить остаток от деления на 6) $num%=6; // получатся значения 0-5 $num+=1; //флаг, отмечающий, есть ли такое число $is_num=false; //полагаем, что таблица в базе данных уже есть и присоединяемся к ней //все используемые для этого переменные логично определить во внешнем файле include("configuration.php"); mysql_connection($host,$user,$password); mysql_select_db($databasename); //посылаем запрос к базе данных $reslut=mysql_query("select * from `num_table`"); //формируем массив из элементов первой строки в таблице $arr_result=mysql_fetch_array($result); //начинаем цикл для перебора строк таблицы while($num_from_table=$arr_result["num"]){ // пока не получим пустую строку //сравниваем значения if($num==$num_from_table){$is_num=true;} //получаем следующую строку таблицы $arr_result=mysql_fetch_array($result); } if($is_num){//если такое число есть //выводим сообщение echo "извините, вы не угадали<br>"; } else{//если нет //поздравляем echo "Ура! Вы сделали это!<br>"; //записываем в базу данных mysql_query("insert into `num_table` values('$num'); } //закрываем базу данных mysql_close(); ?> Внимание! - я код не тестировал Для работы скрипта необходимы: 1. Сервер с интерпретатором PHP и базой данных mySQL (для других баз данных используюся другие функции) 2. База данных и таблица `num_table` в базе данных (как их создать - это вопросы администрирования а не программирования - т.е. отдельная тема для разговора. 3. Знание PHP 4. Знание SQL Вместо базы данных можно использовать запись в файл, но приложение будет работать медленнее - больше нагрузка на сервер
__________________
Юра |
|
|||||
|
Ветеран форума
|
_zhloba
ничего побольше написать не можешь? |
|
|||||
|
Спасибо, буду пробовать
__________________
diler, просто diler |
![]() |
Часовой пояс GMT +4, время: 01:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|