Рассмотрим следующий фрагмент кода:
$beat = date('B'); // 1 beat = 86.4 seconds, 1000 beats = 1 day $total = 'SELECT COUNT(id) FROM ads WHERE featured = 1;'; // number of featured ads $current = 'SELECT * FROM ads WHERE featured = 1 ORDER BY id ASC LIMIT 1 OFFSET ' . ($beat % $total) . ';'; // current featured ad
В основном это циклы через все объявленные объявления, дающие каждому из них бит (86,4 секунды), где им будет выделено особое выделение, например:
$beat $total $current 0 3 0 1 3 1 2 3 2 3 3 0 4 3 1 5 3 2 6 3 0 7 3 1
Это работает очень хорошо, однако мне было интересно, как-то можно было бы устранить необходимость в $ total query и выполнить то же самое, используя только один запрос.
Я не вижу в любом случае этого, не используя подзапросы, но все же, я хотел бы услышать ваше мнение по этому поводу.