Чередование записей по неделям

Духовность™

Продвинутый новичок
Чередование записей по неделям

Здравствуйте.

Стоит задача - сделать на сайте чередование записей, по неделям. Одна неделя - показываем первую запись, вторая - вторую. Через N недель, когда все записи не будут отображены, процесс нужно повторить. И так до бесконечности...

В какую сторону смотреть? Крон? Или средствами языка можно решить?
 

Андрейка

Senior pomidor developer
надо воспользоваццо паттерном "карусель". за примером использования этого паттерна рекомендую пойти в детсад
 

HraKK

Мудак
Команда форума
Неужели так сложно придумать простенький алгоритм? Может стоить бросить это неблагодарное дело?
 

HraKK

Мудак
Команда форума
Давай ты нам не будешь указывать?)

Где именно у тебя возникает сложность в построении алгоритма?
 

Духовность™

Продвинутый новичок
Сложность в том, что я не знаю, как это в общем случае должно выглядеть. Нужно ли флаг активности текущей записи делать, или одними датами оперировать?

Вообщем, пока ничего не придумал...
 

HraKK

Мудак
Команда форума
Можно и так и так. А самое главное это не та проблема над которой надо заморачиватся.
 

Michael_X

Новичок
имхо - задача очень простая.
у Вас есть количество всех "показов" ($totalCount), которые Вам надо показать...
читаем номер недели:
$weekNumber = date('W');
получаем № того, что надо показать:
$banner = ($weekNumber>$totalCount) ? $weekNumber%$totalCount : $weekNumber;

(как я понял Вам надо менять баннеры или картинки каждую неделю)

ну а дальше по принципу... либо выбрать из БД то, что надо показать, либо прочитать из файла и т. п.

Удачи.

а вообще - лучше под учить математику... без логического мышления в программеры лучше не соваться... (не в обиду, а из жизни... )
 

Michael_X

Новичок
еще-бы... было бы не оно - не писал бы )))

расти широкий и заходи еще ;)
 

Андрейка

Senior pomidor developer
PHP:
$banner = ($weekNumber>$totalCount) ? $weekNumber-$totalCount : $weekNumber;

$totalCount = 10;
$weekNumber = 50;

$banner = (50>10)?50-10: 50; //40
 

whirlwind

TDD infected, paranoid
Автор оригинала: triumvirat
нет не пойдет
Чем не пойдет? Ты хоть проверял?

PHP:
for ( $i = 0; $i < 50; $i ++ ){
    echo "B1: ",getBanner1($i,20)," ";
    echo "B2: ",getBanner2($i,20),"\n";
}

function getBanner1($weekNumber,$totalCount){
    return ($weekNumber>$totalCount) ? $weekNumber-$totalCount : $weekNumber; 
}

function getBanner2($weekNumber,$totalCount){
    return $weekNumber % $totalCount;
}
 

Beavis

Banned
triumvirat
тебе то же самое написали, только с сине-зеленой подсветкой, и стало доходчивее?))
 
Сверху