![](/img/trans.png)
[英]Include the result of a Foreach loop in a variable in PHP ? ( for the function mail() )
[英]include sql result to php mail
我想问一下我的脚本中是否缺少发送邮件的内容,我的查询是否正常,它可以显示结果,并且我想寻求有关如何将这些查询结果包含在我要发送的消息中的帮助。 如果您能给我建议从哪里开始,我将不胜感激。 谢谢。
<?php
$cfg = array(
'display' => 'gw@mail.com',
'address' => 'support@mail.com',
'subject' => 'TEST '
. date("m/d/t h:i:s A", strtotime('TODAY')) . ' hits',
'queries' => array(
"SELECT inbox.src AS 'From Mobile Number', outbox.dst AS 'To Mobile Number', outbox.stamp AS 'Timestamp', inbox.data AS 'Message', outbox.status AS 'Status' FROM mega.outbox LEFT JOIN mega.inbox ON outbox.pid=inbox.pid WHERE outbox.sid=156 && inbox.sid=156 && stamp > NOW() - INTERVAL 3 HOUR",
),
);
include "/var/xrelay/mysql.php";
$sql = new database();
$msg = '';
foreach( $cfg['queries'] as $i ) {
$tmp = $sql->read($i, true);
if (!empty($tmp)) {
foreach($tmp[0] as $k => $v) $msg .= "$k: $v\r\n";
}
}
foreach( preg_split( '/[\s,]+/', $cfg['address'], -1, PREG_SPLIT_NO_EMPTY) as $i ) {
$sql->write("INSERT INTO mega.emails (sender,recipient,subject,message,stamp) VALUES "
. "('{$cfg['display']}','$i','{$cfg['subject']}','".$sql->escape($msg)."', NOW());");
}
?>
有什么办法可以进一步改善吗? 如果数据库有任何活动,则该邮件程序应该每3小时将邮件发送给收件人。 它将在3小时前检索数据并将结果作为消息显示。
include "/var/xrelay/mysql.php";
$sql = new database('sql://gateway:xrelay@00.000.000.000/test');
$cfg = array(
'display' => 'gw@mail.com',
'address' => 'g@mail.com',
'subject' => 'MAIL HITS ' . date("m/d/y h:i:s A", strtotime("NOW")) . ' hits',
);
//define('DEBUG',true);
$result = mysql_query("SELECT outbox.dst, DATE_FORMAT(outbox.stamp,'%b-%d-%Y %h:%i %p')AS 'Stamp', outbox.status FROM mega.outbox LEFT JOIN mega.inbox ON outbox.pid=inbox.pid WHERE outbox.sid=156 && inbox.sid=156 && outbox.stamp > NOW() - INTERVAL 3 HOUR");
$msg='| Mobile# | Timestamp | Status |\r\n';
while($row = mysql_fetch_assoc($result))
{
$msg .= "| ". $row['dst'] ." | ". $row['Stamp'] ." | ". $row['status'] ." |\r\n";
}
$num_rows = mysql_num_rows($result);
echo $msg;
if($num_rows != 0){
foreach( preg_split( '/[\s,]+/', $cfg['address'], -1, PREG_SPLIT_NO_EMPTY) as $i ) {
$sql->write("INSERT INTO mega.emails (sender,recipient,subject,message,stamp) VALUES " . "('{$cfg['display']}','$i','{$cfg['subject']}','". $msg ."', NOW());");
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.