отвечаю пока на #32 топик
Извиняюсь если непонятно выразился, я уточню что имел ввиду в 4м примере.
$A- время последнего изменения в таблице товаров
$B- время операции основания которая была использована для последного расчёта кэша,
$cashe- это типо кэш.
вреале вся инфа в переменные предварительно загружается из бд, а в конце в бд сохраняется, но мы это опустим
if ($A==$B) echo "Сумма всех товаров: ".$cashe;
else {
// здесь мы расчитываем новый кэш
cashe= ...................
$B= $A;// теперь время последней операции считается временем которое мы использовали для последнего расчёта кеша.
}
Тоесть нам пофиг что было раньше что позже, мы просто сравниваем два значения между собой, и если они отличаются то пересчитываем кэш. Вместо времени можно было и порядковый номер операции использовать.