Срок действия PHP и MYSQL близок к

То, что я хочу сделать, – это когда пользователь входит в систему. Я хочу уведомить их о том, что продукт истечет

Любые идеи о том, какие вопросы мне нужно использовать для этого и как я могу это сделать, пожалуйста?

Благодарю.

Попробуй это:

SELECT p.ProductName, s.Quantity, s.Price, s.DateExpiry FROM seller s, Product p WHERE p.PID = s.PID AND DateExpiry < DATE_ADD(NOW(), INTERVAL 3 DAY) AND Custid = $_SESSION['user'] 

Все, что вам нужно сделать, должно добавить к вашему состоянию некоторую «математику времени»:

 WHERE p.PID = s.PID AND DateExpiry < ADDDATE(NOW(), INTERVAL 3 DAY) AND Custid = $_SESSION['user'] 

Это будет использовать время с этого момента через 3 дня, а не текущее время для сравнения.

Конечно, вы можете изменить интервал в любое время, например, используя INTERVAL 1 DAY чтобы добавить только 1 день.

Действительные единицы можно найти здесь .

В качестве альтернативы вы можете просто написать простое дополнение, если вы используете не слишком старую версию сервера:

 WHERE p.PID = s.PID AND DateExpiry < NOW() + INTERVAL 3 DAY AND Custid = $_SESSION['user'] 

Вам не нужно менять запрос один бит, но вам нужно сделать некоторые вычисления с данными, которые у вас есть, теперь я не знаю, что формирует вас dateexpiry, но это может выглядеть примерно так.

Код:

 $now = new DateTime('now'); $dateToCompare = new DateTime('2013-04-11');//here is where you put your dateexpire variable $difference = $now->format('U') - $dateToCompare->format('U'); // or if your date to compare is in the future : // $difference = $dateToCompare->format('U') - $now->format('U'); $time_diff = gmdate('d',$difference); echo $time_diff; if($time_diff == 3): echo "there is 3 days left"; elseif($time_diff < 3): echo "less then 3 day there will be 10% reduction"; endif; 

Код, взятый из: получить разницу во времени между двумя датами

Проверь это

 SELECT p.ProductName, s.Quantity, s.Price, s.DateExpiry FROM seller s, Product p WHERE p.PID = s.PID AND Custid = $_SESSION['user'] AND (DateExpiry BETWEEN curdate() and curdate() + interval 3 day) ORDER BY DateExpiry