Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Смена дизайна в зависимости от времени суток (https://javascript.ru/forum/server/16140-smena-dizajjna-v-zavisimosti-ot-vremeni-sutok.html)

Randomizer 28.03.2011 00:59

Смена дизайна в зависимости от времени суток
 
Суть такова: нужно сделать случайную смену числовых значений 2 раза в сутки. Пишу так:

<?php if($today['hours']<12 || $today['hours']>=12):?>
<?php $round = rand(2, 9); echo ($round); ?>
<?php else:?>
<?php $round = rand(1, 5); echo ($round); ?>
<?php endif;?>


Разумеется, что при каждом обновлении страницы - числа изменяются. А нужно, что бы случайное значение хранилось 12 часов, потом сменялось другим случайным значением.

В идеале, я бы хотел сделать смену каждый час.
Помогите, я ноль в пхп =)

walik 28.03.2011 01:36

Записывай число куда то: в базу или в файл.

Randomizer 28.03.2011 01:55

Окей, запись в файл или базу я сделаю, а как выдержать интервал в 2 часа? По крону запускать?

walik 28.03.2011 02:03

Либо по крону, либо записывай время когда было записано число и при каждой загрузки считывай и проверяй если нужно сгенерировать новое число.

firstchild 29.03.2011 19:16

Делать на стороне js, а лучше вообще не делать, ибо кэширование.

micscr 31.03.2011 15:39

Запомни в базе начальную штамп даты и свою некую величину
Например сегодня 0ч 0м 1 с:
Код:

1269982801    xxx.jpj
При заходе пользователя:
//есть период(2часа):
$per = 2*60*60; 
//считываешь сущ. отметку
$t1 =  (1269982801)
//и текущюю отметку:
$t2 = time();
// проверяешь если надо сменить:
if (($t2 - $t1) > $per) {
  // меняем данные
  $plus = (($t2 - $t1) % $per) * $per;
  $t3 = $t1 + $plus;
  // записываешь в БД ($t3 и новое значение)
}

и будет меняться в БД эта величина по данному периоду.


Часовой пояс GMT +3, время: 02:36.