Проблема в моей логике PHP

175
18 апреля 2018, 06:42

Смотрите , у нас есть ключ , который мы покупаем на месяц , и есть программа , которая проверяет , если

$a = $ee["adate"]+1-1;
    $aa = $Date - $a;
    if ($ee["active"] == 0) {
    mysqli_query($mysql_con, "UPDATE `DN` SET active = '1' , IP = '$ipaddress', ActDate = '$Date' WHERE `kkey` = '$key'");
    echo json_encode("1");
    }
    else {
        if ($aa < 30) {
        mysqli_query($mysql_con, "UPDATE `DN` SET active = '1' , IP = '$ipaddress', ActDate = '$Date' WHERE `kkey` = '$key'");
echo json_encode("1");
    }
    else {
    echo json_encode("2");
    }
    }

adate - дата покупки То есть , мы из сегодняшний даты вычитаем дату покупки , и если эта дата меньше 30 тогда говорит 1 , а если нет , то 2 , а вся прелесть в том , что если наступит новый месяц ? Тогда всё поломается ! Помогите сделать так , что бы проверялся еще и месяц , и сделать , что бы всё было корректно , помогите пожалуйста !

Answer 1

Логика сложна у вас. Судя по всему вам нужно возвращать значение 1, если период активации, который составляет 30 дней с момента активации, еще не закончился и ключ не активирован ранее, и 2, если уже вышел срок.
Если я вас правильно понял, то вот попробуйте так (код не проверял в работе, написал на коленке...)

// Проверяем если ключ не активирован
// если прошло меньше 30 дней
// и ищем по ключу
$result = mysql_query($mysql_con, 'SELECT * FROM `DN` WHERE `kkey`="' . $key . '" AND ActDate < NOW() - INTERVAL 30 DAY AND `active` = 0');
if ($result) {
    // Если нашли не активированный ключ 
    mysqli_query($mysql_con, "UPDATE `DN` SET active = '1' , IP = '$ipaddress', ActDate = '$Date' WHERE `kkey` = '$key'");
    echo json_encode('1');
} else {
    echo json_encode('2');
}

Или же если нужно условие на проверку даты, которая должна укладываться относительно заданной на -30 дней, то в первый запрос и условие поставь такое:

$result = mysql_query($mysql_con, 'SELECT "' . $Date . '" < NOW() - INTERVAL 30 DAY');
if ($result) {
READ ALSO
Как сделать json без экранирования кавычек

Как сделать json без экранирования кавычек

В общем на выходе из базы данных, получаю вот это "colors": "[\"#0b5394\",\"#ffffff\",\"#ffff00\",\"#27ADCA\",\"#00ff00\"]"

167
Обход файлов composer

Обход файлов composer

Пытаюсь поставить эту библиотекуОна использует файл composer

178
Codeigniter Как получить Переменную из url без названия

Codeigniter Как получить Переменную из url без названия

Начал изучать codeigniterУчитель дал задание передать переменную в url и от этого значения грузить данные

181