$num = $product->views;
$product->views = $num+1;
$product->save();
$product->views; - берем значение из базы. С количеством просмотров.
В $product->views лежит значение просмотров. (например 1).
Что происходит по логике.
При открытие страницы увеличиваем текущие значение на 1 и получаем 2.
НО по факту, в базу записывается значение увеличенное на 2 т.е. 3.
Читал, искал, смотрел - решить проблему не смог.
--- Добавил
$alias = getParam($_REQUEST, "alias");
$categoryAlias = getParam($_REQUEST, "cat");
$category = new category(null, $categoryAlias);
$product = new item(null, $alias);
$product->getImages();
$product->views = $product->views+1;
$product->save();
Это начало файла. Параметры приходят по url.
Строка из htaccess
RewriteRule ^(rings|earrings|bracelets|necklace|brooches|chains|sets)/([^/]*)$ index.php?route=item/show&cat=$1&alias=$2 [L]