Правильно ли составлено условие? (SQL, PHP)

232
08 апреля 2017, 00:33

Код рабочий, просто для себя хочу узнать правильно ли составил условия?
Суть кода такая, Сменить значение count на 4, при условии что запись была сделана (timestamp) 7 дней назад и значение count=2 или count=3

$s = 7; 
$close = (time()-86400*$s); 
$db->Query(
   "UPDATE `table` 
    SET `count`='4' 
    WHERE `timestamp` > 0 AND 
    `timestamp` < '".$close."'  
    AND (`count`='2' OR `count`='3')" 
);
Answer 1

Рассмотрим Ваш код более детально.

$s = 7; // 7 дней
$close = (time()-86400*$s); // в сутках 86400 секунд
$db->Query(
   "UPDATE `table` // обновить таблицу
    SET `count`='4' // установить count=4
    WHERE `timestamp` > 0 AND // у которых timestamp положительно
    `timestamp` < '".$close."'  // у которых timestamp ранее семи дней назад 
    AND (`count`='2' OR `count`='3')" // у которых count = 2 или 3
);
  • В одних сутках 86400 секунд.
  • В семи сутках 7*86400 секунд.
  • time() - возвращает количество секунд, прошедших с начала Эпохи до текущего времени.
  • Если от time() вычесть количество секунд семи суток - получим день равный семи дням назад - в секундах конечно же

Если у Вас в timestamp хранится цифра, которую Вы получали через time() во время записи, то в принципе условие нормальное. Вроде бы все похоже на правду.

READ ALSO
Сохранение Bmp файла в директории

Сохранение Bmp файла в директории

Есть функции для сохранения картинок в директорииКусочек кода функции

276
PHP создание объектов

PHP создание объектов

Добрый день, извиняюсь, скорее всего вопрос тупой, но как создать объект один раз за все время работы приложения? Есть точка входа, там хочу...

265
Запрос mysql на выборку из двух таблиц

Запрос mysql на выборку из двух таблиц

Есть две табицы: category и newsНужно сделать выборку чтобы показывало 5 новостей каждой категори

311