在我的mysql数据库中,我有一个名为voorraad
和threshold
的列。当voorraad
低于指定的阈值时,它需要发送电子邮件,说明voorraad低于阈值。
我可以这样做,但是我如何确保它只发送一封电子邮件,直到它再次低于阈值。
使用此代码时...
if voorraad < threshold{
send email
}
。它不断发送电子邮件,因为Voorraad可以在几天内保持在阈值以下。因此,它只需要发送电子邮件一次,直到voorraad达到或超过阈值。
一旦再次低于阈值,它需要再次发送相同的电子邮件。
您需要一种方法来确定电子邮件是否已发送。
类似于@qeril写的。
- 在表中创建一个类似于
email_sent
的列,作为默认值设置为 0 的小整数 - 当
voorraad
低于阈值时:
a( 检查email_sent
值
b( if(email_sent == 0) { send email }
并将值email_sent
更新为 1
- 当
voorraad
上升到阈值更新值email_sent
到 0 时
第三 (3( 步重置,并准备在voorraad
再次低于阈值时再次发送电子邮件
编辑
我无法为您提供特定的代码,因为您没有提供正在使用的实际代码,但它看起来像这样:
$voorraad = $result['voorraad'];
$threshold = $result['threshold'];
$sent_email = $result['sent_email'];
if($voorraad < $threshold) {
if($sent_email == 0) {
//send email code;
//update 'sent_email` to 1;
}
} else { if($voorraad >= $threshold) {
//update 'sent_email' to 0;
}