PHP MySQL - 添加新记录时发送电子邮件警报但是

时间:2016-05-18 16:10:36

标签: javascript php jquery mysql

我需要在添加新记录时发送电子邮件提醒但该表还有输入字段,当用户编辑这些输入字段时我不需要提醒。

我有一个用于设备交付日期的数据库。用户将为一件设备安排交付,然后将日期输入后端数据库(SQL Server)。

我创建了一个php应用程序,它查看后端数据库并将总交付数量放在jquery日历上。

enter image description here

当用户点击日历上的特定日期时,它会显示一个显示以下内容的表格:

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!";
}

2 个答案:

答案 0 :(得分:0)

很多人都会添加created_atupdated_at等列。创建记录时,可以为这两列分配相同的值。如果这些价值相等,那就是一个全新的记录。如果它们不同,则它是已更新的现有记录。

答案 1 :(得分:0)

在插入过程中创建一个与google邮件服务或任何其他选择相关联的小脚本,并使用创建的预定义电子邮件发送电子邮件,以便将电子邮件发送到所需的电子邮件地址,就像每次插入新记录时一样电子邮件从x@gmail.com发送到xxx@xxx.xx,其中x是发送的电子邮件,xxx是接收者。

相关问题