php - 如何使用 php Codeigniter 向存储在数据库中的所有收件人发送电子邮件警报

标签 php mysql codeigniter

我试图向数据库中存储的所有注册电子邮件地址发送职位提醒。我检索了模型中的所有 ID、名字和电子邮件,并将其发送到 Controller ,在 Controller 中我放入一个循环并将其发送给相应的收件人,但不幸的是它无法按我希望的方式工作。 下面是我的代码:

Controller 代码:

$get_recipient = $this->job_seekers_model->get_all_recipients_email();
foreach ($get_recipient as $first_name=>$email)
{
    $this->email->clear();
    $this->email->to($email);
    $this->email->subject($email_subject);
    $mail_message = $this->email_drafts_model->send_message_job_alerts($row_email->content, $row->job_title, $row->job_slug, $row);
    $this->email->message($mail_message);
    $this->email->send();
}

型号代码:

public function get_all_recipients_email() 
{
    $this->db->select('ID','first_name', 'email');
    $this->db->from('pp_job_seekers');
    $this->db->where('send_job_alert','yes');
    $Q = $this->db->get();
    if ($Q->num_rows > 0) 
    {
        $return = $Q->row();
    } 
    else 
    {
        $return = 0;
    }
    $Q->free_result();
    return $return;
}

最佳答案

您仅从模型中返回一个条目:

 $return = $Q->row();

你想要它们全部:

$return  = $Q->result(); //or result_array()

最好只是返回而不是声明一个变量,因为我最初认为这一定是一个拼写错误。

foreach($result as $person){
    $this->email->to($person->email); // if you returned an object, $person['email'] for array
}

关于php - 如何使用 php Codeigniter 向存储在数据库中的所有收件人发送电子邮件警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45098116/

相关文章:

php - 通过 id 从 mysql 选择所有行并进行两列比较

MySQL - 为什么我不能在这里添加外键?

php - Codeigniter - 自动加载带有别名的模型

php - 从存储在 MySql 中的数据创建 json API 请求响应

php - 我想通过 SSH 从 Contenido 连接到数据库

php - 保护网站/数据库的最新方法

php - 如果表中没有数据,如何在php中显示消息

php - 通过 PHP 大量插入 MySQL 数据库会跳过名称

php - MySQL连接3个表

php - 将日期之间的查询转换为 codeigniter