向该电子邮件函数添加mysql查询


Adding mysql query to this email function

我在注册过程中有以下功能,该功能将在注册过程完成后发送并通过电子邮件发送给用户。我希望电子邮件的文本根据用户的类型而有所不同。我有业务用户和个人用户,在数据库中标识为1或0。这就是我到目前为止所拥有的。

 function SendBusWelcomeEmail(&$user_rec)
    {
 $result = mysql_query("SELECT business FROM users")
               or die(mysql_error());
                while ($row = mysql_fetch_array($result))
            {
            $actiontype = $row['business'];
            switch ($actiontype)
{
case "0":
        $mailer = new PHPMailer();
        $mailer->CharSet = 'utf-8';
        $mailer->AddAddress($user_rec['email'],$user_rec['name']);
        $mailer->Subject = "Welcome to ".$this->sitename;
        $mailer->From = $this->GetFromAddress();        
        $mailer->Body ="Hello ".$user_rec['name']."'r'n'r'n".
        "Welcome! Your registration  with ".$this->sitename." is completed.'r'n".
        "'r'n".
        "Regards,'r'n".
        "Webmaster'r'n".
        $this->sitename;
        if(!$mailer->Send())
        {
            $this->HandleError("Failed sending user welcome email.");
            return false;
        }
        return true;
break;
case "1":
  $mailer = new PHPMailer();
        $mailer->CharSet = 'utf-8';
        $mailer->AddAddress($user_rec['email'],$user_rec['name']);
        $mailer->Subject = "Welcome to ".$this->sitename;
        $mailer->From = $this->GetFromAddress();        
        $mailer->Body ="Hello ".$user_rec['name']."'r'n'r'n".
        "Welcome! thanks for your business etc etc with ".$this->sitename." is completed.'r'n".
        "'r'n".
        "Regards,'r'n".
        "Webmaster'r'n".
        $this->sitename;
        if(!$mailer->Send())
        {
            $this->HandleError("Failed sending user welcome email.");
            return false;
        }
        return true;
    }

也许是这样的。

function SendBusWelcomeEmail(&$user_rec)
{
    $mailer = new PHPMailer();
    $mailer->CharSet = 'utf-8';
    $mailer->AddAddress($user_rec['email'], $user_rec['name']);
    $mailer->Subject = "Welcome to ".$this->sitename;
    $mailer->From = $this->GetFromAddress();        
    $result = mysql_query("SELECT business FROM users") or die(mysql_error());
    if (mysql_num_rows($result))
    {
        $row = mysql_fetch_assoc($result);
        $actiontype = $row['business'];
        switch ($actiontype)
        {
            case "0":
                $mailer->Body = "Hello ".$user_rec['name']."'r'n'r'n"."Welcome! Your registration  with ".$this->sitename." is completed.'r'n"."'r'n"."Regards,'r'n"."Webmaster'r'n".$this->sitename;
                break;
            case "1":
                $mailer->Body = "Hello ".$user_rec['name']."'r'n'r'n"."Welcome! thanks for your business etc etc with ".$this->sitename." is completed.'r'n"."'r'n"."Regards,'r'n"."Webmaster'r'n".$this->sitename;
                break;
        }
        if (!$mailer->Send())
        {
            $this->HandleError("Failed sending user welcome email.");
            return false;
        }
    }
    return true;
}

我假设查询应该包括某种where子句,这样就不会每次都查询整个users表。我删除了while循环,因为您无论如何都是在发送电子邮件后返回的。