Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 18:52   #1
Sin4ik
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 3
По умолчанию Появление разных блоков в разные дни месяца

Доброго времени суток!
Подскажите пожалуйста, как можно сделать условие(массив дат) появление разных блоков в разное время месяца/дней.

Если:
Код:
$startDate = mktime(0, 0, 0, 9, 1, 2014); // с 1 сентября
$endDate = mktime(23, 59, 59, 10, 10, 2014); // по 10 октября
if(($startDate > time()) && ($endDate < time())){
    echo '<div>Выводим блок 1</div>';
}
Если:
Код:
$startDate = mktime(0, 0, 0, 2, 5, 2014);
$endDate = mktime(23, 59, 59, 7, 5, 2014);
if(($startDate > time()) && ($endDate < time())){
    echo '<div>Выводим блок 2</div>';
}
Если...

Буду очень благодарен.
Sin4ik вне форума Ответить с цитированием
Старый 31.01.2014, 22:27   #2
Gocer
 
Регистрация: 22.06.2008
Сообщений: 7
По умолчанию

Код:
$start = array(
        array(0, 0, 0, 1, 1, 2014),
        array(23, 59, 59, 10, 10, 2014));

$finish = array(
        array(0, 0, 0, 2, 5, 2014),
        array(23, 59, 59, 7, 5, 2014));

$result = array('block1', 'block2');

$count = count($start);
$time = time();

for($i=0; $i<$count; $i++){

        
        $time_start = mktime($start[$i][0], $start[$i][1], $start[$i][2], $start[$i][3], $start[$i][4], $start[$i][5]);
        $time_finish = mktime($finish[$i][0], $finish[$i][1], $finish[$i][2], $finish[$i][3], $finish[$i][4], $finish[$i][5]);

        if($time_start <= $time && $time <= $time_finish) echo $result[$i];
}

Последний раз редактировалось Gocer; 01.02.2014 в 14:16.
Gocer вне форума Ответить с цитированием
Старый 31.01.2014, 23:28   #3
Sin4ik
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Gocer Посмотреть сообщение
...
Уважаемый, премного благодарен Вам, очень сильно помогли.
Подскажите под конец, а если нужно будет добавить еще пару дат, то как добавлять в код? Неужели код увеличить больше?
Sin4ik вне форума Ответить с цитированием
Старый 01.02.2014, 14:15   #4
Gocer
 
Регистрация: 22.06.2008
Сообщений: 7
По умолчанию

Дату старту добавить в массив $start, дату окончания в массив $finish, ну и соответственный блок для вывода в массив $result. То есть если необходимо добавить еще пару начало-конец, выглядеть это будет так:
Код:
$start = array(
                   array(0, 0, 0, 1, 1, 2014),
                   array(23, 59, 59, 10, 10, 2014));
                   array(23, 59, 59, 11, 11, 2015));//начало, 3я пара

$finish = array(
                  array(0, 0, 0, 2, 5, 2014),
                  array(23, 59, 59, 7, 5, 2014));
                  array(23, 59, 59, 12, 12, 2015));//конец, 3я пара

$result = array('block1', 'block2', 'block3');
Gocer вне форума Ответить с цитированием
Старый 01.02.2014, 17:50   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

А еще лучше хранить все даты и время в бд и не париться о их количестве
ADSoft вне форума Ответить с цитированием
Старый 02.02.2014, 17:13   #6
Sin4ik
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Gocer Посмотреть сообщение
Дату старту добавить в массив $start, дату окончания в массив $finish, ну и соответственный блок для вывода в массив $result. То есть если необходимо добавить еще пару начало-конец, выглядеть это будет так:
спасибо большое!
со временем запутался, теперь полностью разобрался, научили немного меня)))

Цитата:
Сообщение от ADSoft Посмотреть сообщение
А еще лучше хранить все даты и время в бд и не париться о их количестве
Да мне тоже это говорили, с бд удобно работать, но пока не реализовано.
Позже буду разбираться =)
Спасибо)
Sin4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление скрытых блоков при увеличении экрана Иванна HTML и CSS 2 15.08.2012 09:00
Разные случайные числа в разных переменных. Alex COD Общие вопросы C/C++ 3 06.04.2011 00:23
разные виды меню для разных пользователей nuevegramodelamor Общие вопросы .NET 1 30.11.2010 22:55
Как преобразовать "17 лет 11 месяцев 9 дней" в месяца и дни??? axell_pnz Microsoft Office Excel 7 11.11.2009 12:20
Разные 404-страницы для разных папок Беляевский PHP 1 18.07.2009 23:25