- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Требуется афиша т.е. вывод события на неделю.
Фишка заключается в том, что можно листать на 1 неделю вперёд и на сколько угодно назад ессесно.
Жалкие попытки прикрутить функцию:
function search_week($time,$month,$year,$day_of_week,$which) {$dt = $day_of_week+7*$which-6-date('w',mktime(0,0,0,$month,1,$year));
if (date($time,mktime(0,0,0,$month,1,$year))<=$day_of_week){
$what_u_need=date("m-d-Y", mktime(0,0,0,$month,$dt,$year));
}
else
{
$what_u_need=date("m-d-Y", mktime(0,0,0,$month,$dt+7,$year));
}
return $what_u_need;
}
не увенчались успехом т.к. нужно месяц задавать.
Т.е. если грубо говоря мне нужно:
Я знаю номер недели, например 14 и год, мне нужно выдать числа с понедельника по воскресенье включающие месяц.
Не понял что значит "включающие месяц", в остальном проблем то нет особых.
$week = 14;
$year = 2010;
$day_of_year = $week * 7;
дальше в общем функция с обычными календарными преобразованиями. Можно даже timestamp подключить ибо timestamp от заданной даты найти реально strtotime() , а дальше +/- недельный сдвиг.
Или я не понял чего-то?
Попробуй так.
function WeekDates($year, $week){// Высокосный год или нет
$L = date("L", mktime(1,1,1,1,1, $year)); // единицы чтобы получить именно этот год
$months = array(31, 28+$L, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
// Номер недели * 7 дней
$total_days = ($week-1)*7; // -1 чтобы получить именно нужную неделю
$i = 0;
while($sum < $total_days){
$sum += $months[$i++];
}
// Всего дней в этих месяцах:
$sum -= $months[$i-1];
// Номер месяца
$month = $i;
// Один из дней в этой неделе
$day = $total_days - $sum;
// День недели этого дня
$day_of_week = date("w", mktime(0,0,0, $month, $day, $year));
// Если это воскресенье
if ($day_of_week==0) $day_of_week=7;
// Получаем начало недели
$day = $day - ($day_of_week - 1) ;
$dates = array();
$dates['start'] = date("Y-m-d", mktime(0,0,0, $month, $day, $year));
$dates['end'] = date("Y-m-d", mktime(1,1,1, $month, $day+6, $year));
return $dates;
}
Не понял что значит "включающие месяц", в остальном проблем то нет особых.
$week = 14;
$year = 2010;
$day_of_year = $week * 7;
дальше в общем функция с обычными календарными преобразованиями. Можно даже timestamp подключить ибо timestamp от заданной даты найти реально strtotime() , а дальше +/- недельный сдвиг.
Или я не понял чего-то?
А бд забиваются события по датам. Нужно вывести все события на текущей и следующей недели + вывод всех предыдущих недель.
Вывод предоставляется так:
На этой недели: 05.04.2010 - 11.04.2010 и выводить события.
Проблема именно в выводе 04 месяца :)
LEOnidUKG добавил 08.04.2010 в 14:03
iSeo, благодарю, помоему то что нужно. Не могу поставить плюсик т.к. сегодня у Вас была регистрация :( Ну это вопрос времени :)