Ситуация №1. Есть страница. На странице выводятся 6 фоток с БД за неделю. То есть меняется неделя, меняются фотки. Сверху страницы - (неким образом) нужно запихать список недель, да бы пользователь смог выбрать из списка необходимую неделю (как это записать еще не знаю (то есть или - Например (с 1 июня - 8 июня) или ка-то еще...)) и ему отобразились фотки этой недели. Далее, с каждой недели выбирается (неким образом) победитель, и эта запись занимает первое место в списке необходимой недели.
Ситуация №2. Сверху страницы также необходимо разместить победителей по месяцу. То есть суть такая же как и в ситуации №1. Выбирается победитель за месяц (например - Август) и эта запись выводится первой из списка участников (фото) месяца. Также список. Например (юзер нажал на список, выбрал месяц - июль) и ему вывелись из БД все фотки, которые в июльские недели (4) занимали первое место...
Черт. В общем, у кого есть время и идеи как это реализовать, прошу не стесняться.... По моему тут самое сложное это как-то задействовать выборку по неделям, то есть как-то надо написать запрос, что бы он вытаскивал записи по заданным юзером неделям.... Все идеи и предложения принимаются... Спасибо за внимание.
Спустя 43 минуты, 13 секунд (14.06.2011 - 19:03) m4a1fox написал(а):
Полазил по googl'y и узнал оказывается есть метод group by WEEK. Но только что-то мало про него инфы. Буду рыть дальше. Господа, ну будьте поактивнее....

Спустя 9 минут, 39 секунд (14.06.2011 - 19:13) m4a1fox написал(а):
Invis1ble
Есть идеи?????
Надо покурить!
Есть идеи?????

Спустя 12 минут, 15 секунд (14.06.2011 - 19:25) Invis1ble написал(а):
m4a1fox
В SQL есть куча функций для работы с датами и временем, нужно лишь составить подходящее условие в запросе. Т.е. отсылаешь например методом пост дату (или промежуток, например минимальное и максимальное число), а в обработчике подставляешь в запрос данные из $_POST. Для недели что-то вроде этого (в $_POST['date'] - начало недели, к примеру 06-01-2011):
Учти, это лишь пример, чтобы было видно возможности. Я не особо помню все функции, так что читай маны - наверняка есть что-то и пооптимальней.
В SQL есть куча функций для работы с датами и временем, нужно лишь составить подходящее условие в запросе. Т.е. отсылаешь например методом пост дату (или промежуток, например минимальное и максимальное число), а в обработчике подставляешь в запрос данные из $_POST. Для недели что-то вроде этого (в $_POST['date'] - начало недели, к примеру 06-01-2011):
$qSelect = "
SELECT *
FROM `table`
WHERE `date` > '" . mysql_real_escape_string($_POST['date']) . "' AND
`date` < ADDDATE('" . mysql_real_escape_string($_POST['date']) . "', INTERVAL 7 day)";
Учти, это лишь пример, чтобы было видно возможности. Я не особо помню все функции, так что читай маны - наверняка есть что-то и пооптимальней.
Спустя 1 минута, 43 секунды (14.06.2011 - 19:27) m4a1fox написал(а):
Invis1ble
Ок! И за это спасибо! Видимо это на недельку я завис с этой проблемкой:)
Ок! И за это спасибо! Видимо это на недельку я завис с этой проблемкой:)
Спустя 3 минуты, 1 секунда (14.06.2011 - 19:30) Invis1ble написал(а):
Если на уровне php вычислишь начало и конец недели, а это кстати довольно просто делается, только я не помню как
- то передаешь начало недели и конец, и их подставляешь в запрос... В php копай в сторону strtotime()... Вроде это оно.

Спустя 10 минут, 53 секунды (14.06.2011 - 19:41) m4a1fox написал(а):
Invis1ble
Ок! Спасибо! Сейчас необходимо покинуть Вашу дружную компанию... обстоятельства... но вечером вернусь. Это еще не конец
Ок! Спасибо! Сейчас необходимо покинуть Вашу дружную компанию... обстоятельства... но вечером вернусь. Это еще не конец

Спустя 14 минут, 36 секунд (14.06.2011 - 19:55) Invis1ble написал(а):
m4a1fox
Вот пример для недели набросал:
На входе произвольная дата, вычисляется понедельник и воскресенье этой недели, далее подставляется в запрос.
В SQL я что-то не нашел аналогов strtotime(), может плохо искал :)
Вот пример для недели набросал:
$date = '14.06.2011'; // это будет $_POST['date']
list($day, $month, $year) = explode('.', $date);
$time = mktime(0, 0, 0, $month, $day, $year); // переводим в timestamp
$mondayTime = strtotime('last Monday', $time); // timestamp начала недели
$sundayTime = strtotime('next Sunday', $time); // timestamp конца недели
$qSelect = "
SELECT *
FROM `table`
WHERE TIMESTAMP(`date`) > " . (int)$mondayTime . " AND
TIMESTAMP(`date`) < " . (int)$sundayTime;
На входе произвольная дата, вычисляется понедельник и воскресенье этой недели, далее подставляется в запрос.
В SQL я что-то не нашел аналогов strtotime(), может плохо искал :)
Спустя 17 часов, 34 минуты, 28 секунд (15.06.2011 - 13:30) m4a1fox написал(а):
Оцените задумку.... В админке при добавлении фотки методом select выбираем месяц, затем рядом выбираем неделю (1, 2, 3, 4). После этого сохраняем данные в таблицу.
А на странице сортировки делаем форму (select (месяц) + select (неделя (1, 2, 3, 4)) + кнопка (поиск)). После чего из БД выбираем записи где month = month (из формы отправленной) & week = week (№ отправленной недели)? Как Вам? Какие будут замечания?
А на странице сортировки делаем форму (select (месяц) + select (неделя (1, 2, 3, 4)) + кнопка (поиск)). После чего из БД выбираем записи где month = month (из формы отправленной) & week = week (№ отправленной недели)? Как Вам? Какие будут замечания?
Спустя 2 часа, 56 минут, 46 секунд (15.06.2011 - 16:27) Invis1ble написал(а):
Можно и так сделать. Зависит от твоей фантазии. Я бы каледариком наверно сделал, при клике на ячейку отправляется аяксом дата в обработчик.
Как-то так. Вообще все зависит от твоей фантазии.
Как-то так. Вообще все зависит от твоей фантазии.