我正在基于 mysql 表数据构建提醒,我的表看起来像
Task Desc Name Email
1 Task1 John John@mail.com
2 Task2 Eve Eve@mail.com
3 task3 John John@mail.com
4 Task4 Mark Mark@mail.com
5 task5 John John@mail.com
在我的 php 中
$query = "SELECT desc, name, email FROM table";
$result_query = mysql_query($query) or die("Error in query: $query " . mysql_error());
$num_results_query = mysql_num_rows($result_query);
if ($num_results_trad > 0) {
ob_start();
HERE I WRITE MY EMAIL
$Buffer = ob_get_contents();
// get the output
ob_end_clean();
之后我发送电子邮件。现在我的问题是我需要向每个用户发送一封电子邮件,其中包含分配给他的所有任务。如果我做一个循环,我会为每个任务或行发送一封电子邮件,我想做的是发送一封电子邮件,例如发送给任务 1 3 和 5 的约翰,然后发送给找到的第二封电子邮件,依此类推用户。有人可以指出我的方向吗?
最佳答案
您必须循环两次,一次聚合所有任务,然后一次发送电子邮件。在非工作 php 伪代码中:
$taskForUser = array();
// your query
$query = "SELECT desc, name, email FROM table";
$result_query = mysql_query($query) or die("Error in query: $query " . mysql_error());
$num_results_query = mysql_num_rows($result_query);
foreach ($query as $result) {
$taskForUser[$result['Email']][] = $result;
}
foreach ($taskForUser as $userTasks) {
// email $userTasks at once.
}
关于php - Mysql PHP推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23142215/