【发布时间】:2016-01-29 12:22:22
【问题描述】:
我有使用 php 在 mysql 中导入 CSV 数据的代码,导入工作正常,但我需要额外的功能,通过从 csv 中搜索 user_id 向用户发送电子邮件。我已将 csv 转换为数组 $csv_array,
user_id order part
1 test phone
1 another pad
2 all tab
现在,代码将搜索用户并从用户数据库中获取 user_email,然后向用户发送电子邮件。
foreach ($csv_array as $row) {
$this->load->library('email');
$this->load->library('parser');
$email = $this->admin_model->getEmailNotification();
$user = $this->model->getUserShipment($row['user_id']);
if(count($user) == 1)
{
$data = array(
'user_firstname' => $user->user_firstname,
'user_lastname' => $user->user_lastname,
'user_email' => $user->user_email,
);
$subject = 'Your Order has been shipped';
$message = $this->parser->parse('templates/update', $data, TRUE);
$config['protocol'] = $email->email_protocol;
$config['smtp_host'] = $email->email_host;
$config['smtp_user'] = $email->email_address;
$config['smtp_pass'] = $email->email_password;
$config['smtp_port'] = $email->email_port;
$config['newline'] = "\r\n";
$this->email->initialize($config);
$this->email->from($email->email_address);
$this->email->to($user->user_email);
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();
}
}
现在我有两个问题,
-
这将为每一行发送电子邮件,但我只想发送一封包含两个订单的电子邮件,例如,在上表中,user_id 1 将只收到一封包含订单和零件信息的电子邮件,
另外,我将如何创建数组以传入 user_id-1 的模板 -> 订单和零件放入模板内的表格中?
谢谢,
【问题讨论】:
-
关于您的第一个问题,您如何包含“订单”和“零件”数据?它目前是发送 2 封包含 2 个订单的电子邮件还是 2 封包含一个订单的电子邮件?
-
@Silencio,是的,目前我还没有添加作为 $data 的一部分,但是如果我添加 'order' => $row['order],那么它将发送 2 封包含单个信息的电子邮件
-
您希望如何包含您的订单和零件数据?如果您可以添加所需数据数组的示例,将会很有帮助。
-
@Silencio,它将是简单的 MD 数组,如 array(array('order' =>'test', 'part' => 'phone'), array('order' =>'another ', 'part' => 'pad'))
标签: php mysql arrays email csv