我需要在添加新记录时发送电子邮件提醒但该表还有输入字段,当用户编辑这些输入字段时我不需要提醒。
我有一个用于设备交付日期的数据库。用户将为一件设备安排交付,然后将日期输入后端数据库(SQL Server)。
我创建了一个php应用程序,它查看后端数据库并将总交付数量放在jquery日历上。
当用户点击日历上的特定日期时,它会显示一个显示以下内容的表格:
Date
Equipment
Customer
然后我创建了一个mysql表,它将该信息推送到我的本地msyql表中,其中包含以下字段:
AssignedPerson
Status
Comments
然后,用户可以对交货做出记录。
问题是有时候交付日期会发生变化或者新的交付会被添加,除非我们不断检查php应用程序,否则我们都不会知道。
我想在添加新记录时发送提醒,但在用户更新表格时我不需要提醒。
以下是用户更新表时的代码。同样,我只在从SQL后端数据库向mysql表添加新记录时发出警报:
include('./PHPMailer-master/class.phpmailer.php');
servername_wamp = "localhost";
$username_wamp = "root";
$password_wamp = "";
if(isset($_POST['id']))
{
$id=mysql_escape_String($_POST['id']);
$AssignedPerson=mysql_escape_String($_POST['AssignedPerson']);
$ShipDate=mysql_escape_String($_POST['ShipDate']);
$Status=mysql_escape_String($_POST['Status']);
$Numofmachines=mysql_escape_String($_POST['Numofmachines']);
$Model=mysql_escape_String($_POST['Model']);
$a = mysql_connect($servername_wamp, $username_wamp, $password_wamp) or die(mysql_error());
$b = mysql_select_db('orders', $a) or die(mysql_error());
$result2 = mysql_query("SELECT * FROM orders WHERE OrderNumber='$OrderNumber' LIMIT 1",$a) or die(mysql_error());
$rs=mysql_fetch_row($result2);
if ($rs) {
if (($rs['ShipDate_log']=='')&&($Status=='Assigned')) {
$sd=", ShipDate_log='".$ShipDate."'";
$message1982 = "
<ul>
<li> <strong>ID:</strong> $id </li>
<li> <strong><font color='red'>Tech:</font></strong> $AssignedPerson </li>
<li> <strong>Ship Date:</strong> $ShipDate </li>
<li> <strong>Customer:</strong> $Customer </li>
<li> <strong>Status:</strong> $Status </li>
<li> <strong>Sales Rep:</strong> $SalesRep </li>
<li> <strong>Order Number:</strong> $OrderNumber</li>
<li> <strong>Number Of Machines:</strong> $Numofmachines </li>
</ul>
";
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = $message1982;
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = false; // authentication enabled
$mail->Host = "10.10.10.38";
$mail->Port = 25; // or 587
$mail->IsHTML(true);
$mail->SetFrom("nservice2@everyone.com");
$address = "bot@everyone.com";
$mail->AddAddress($address, "John");
$mail->Subject = ''. $Customer. ' Ticket Assigned';
$mail->MsgHTML($body);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
答案 0 :(得分:0)
很多人都会添加created_at
和updated_at
等列。创建记录时,可以为这两列分配相同的值。如果这些价值相等,那就是一个全新的记录。如果它们不同,则它是已更新的现有记录。
答案 1 :(得分:0)
在插入过程中创建一个与google邮件服务或任何其他选择相关联的小脚本,并使用创建的预定义电子邮件发送电子邮件,以便将电子邮件发送到所需的电子邮件地址,就像每次插入新记录时一样电子邮件从x@gmail.com发送到xxx@xxx.xx,其中x是发送的电子邮件,xxx是接收者。