Loading...
Обучение/Помощь новичкам | Получить рандомное число один раз
Всем привет. Ребят, такая проблема. Хочу создать боевку пещере, и пытаюсь вывести рандомного монстра из базы , но не получается. Пишу вот такое вот,
<?
$idm = rand(1,3);
$cave_monstr = mysql_fetch_assoc(mysql_query("SELECT * FROM `cave` WHERE `id` = '".$idm."'"));

echo '<div class="block center"><font style="color: orange; font-size: 2em; font-famyli: italic;">Битва против</font> '.$cave_monstr['name'].'</div>
<div class="line"></div>
<div class="list">
</div>';


Каждый раз когда обновляю страницу, монстр меняется. Подскажите как сделать так, чтобы получить рандомное число один раз и чтобы за бой оно не менялось? Тоесть получил рандомное число 3, оно взяло 3ю строку из таблицы и так пока новый бой не начнешь монстр не поменяется. Или к этому надо подходить по другому?
________
посл. ред. 11.08.2018 в 14:31; всего 1 раз(а); by Sheyx
Перед выводом монстра, проверяй есть ли живой
Sheyx , в базу запиши цыфру
Sheyx , $user['monster_cave'] вот так используй тогда
Тоесть вы предлогаете создать еще одну таблицу с батлом монстр вс игрок. И рандомное число сразу записывать в строку? а точнее создавая Insert'ом создать строку с ид монстром и ид юзером. Тогда все ок будет?
Angry Cat (11.08.2018 в 15:05)
Sheyx , $user['monster_cave'] вот так используй тогда

в таблицу юзера добавить?
Самый простой вариант-записать в сессию id
У меня всегда бои в сесиях были, так базу напрягает .
Записал перед редиректов в бой все в сессию и норм.
в сессию, согласен.
что-то типа
if( empty( $_SESSION['idm'] ) )
{
$_SESSION['idm'] = rand(1,3);
$idm = $_SESSION['idm'];
}
else
{
$idm = $_SESSION['idm'];
}
________
посл. ред. 11.08.2018 в 16:26; всего 1 раз(а); by Racoon
Racoon (11.08.2018 в 15:37)
в сессию, согласен.
что-то типа
if( empty( $_SESSION['idm'] ) )
{
$idm = rand(1,3);
}
else
{
$idm = $_SESSION['idm']
}

сам понял , что написал?
Онлайн: 1
Время:
Gen. 0.1609
(c) Bym.Guru 2010-2026