Подскажите. В бд записывается дата с +7 дней от текущей. Получается, имею дату в базе 01/01/2020 15:00:00, например
Сделал переменную для хранения текущей даты $now = date("d/m/Y H:i:s");
Пытался сравнивать напрямую через запрос по типу WHERE expire < '$now' - понятное дело, что не работает при определенных условиях.
Прочитал тут в одном из топиков..Создал переменные, извлек значение из БД и попытался сравнить как строки - 0 результата. Какие еще есть варианты сравнения дат ?
Используйте UNIX TIME. При добавлении записи:
$name = "Some name";
$expire = time() + 604800; //1 неделя
$sql = "INSERT INTO items (name,expire) VALUES(:name, :expire)"; //Тип колонки expire - INT
$statement = $db->prepare($sql);
$statement->bindParam(":name",$name,PDO::PARAM_STR);
$statement->bindParam(":expire",$expire,PDO::PARAM_INT);
$statement->execute();
При выводе (для MySQL):
$current_time = time();
$sql = " SELECT name,FROM_UNIXTIME(expire) FROM items WHERE expire >= :current_time";
$statement = $db->prepare($sql);
$statement->bindParam(":name",$name,PDO::PARAM_STR);
$statement->bindParam(":expire",$expire,PDO::PARAM_INT);
$statement->execute();
$data = $statement->fetchAll();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости