Не нравится update в базу, можно сделать по другому. Если точно не важна и есть возможность использовать memcache то делай так.
PHP код:
/*Подключаемся к мемкешу*/ $mcache = new Memcache; $mcache->connect('memcache_host', 11211); $current_value = $mcache->increment('counter', 1); if($current_value>100){ $mcache->delete('counter'); $db->query("UPDATE `table` SET `counter`=`counter`+100")
}
Этот код работает так. В мемкеш идёт значение. просмотров. Как только просмотров в нём 100, так сразу мы это обновляем в базе. Учти, что мемкеш всё хранит в оперативной памяти, и в случае перезагрузки, он все данные теряет. Именно поэтому мы так же делаем запись в базу
---------- Сообщение добавлено 12:30 ---------- Предыдущее 12:29 ----------
такой подход я использую обычно. Конечно, теряется некоторая точность, но зато к базе запросов меньше)
Ну гнаться за запросами к бд не стоит, главное разумный предел, порой select c join хуже чем 2 селекта.
Вообще счетчик просмотра можно сделать через хранимку, как только ты вызываешь хранимку, она записывает в поле просмотры +1 и возвращает тебе запись из бд , тогда ты минус 1 запрос из скрипта, внутри бд такое выполняется в разы быстрее :)
Можно ли реализовать на PHP ? Задача такая Есть сайт - главная страница отличается от страницы с контентом Страницу с контентом нужно дополнить одну колонку по вертикали Как бы сделать так чтобы в файле index.php (joomla) проходила проверка на какой страницы мы находимся на главной или на страницы с контентом и соответственно загружались стили для главной или для контента?