PHP:通过电子邮件连接数据库结果
我有一个分配给多个用户的任务列表。我想设置一个cron作业,并每小时向每个用户发送一次电子邮件通知。我的问题是:PHP:通过电子邮件连接数据库结果,php,mysql,Php,Mysql,我有一个分配给多个用户的任务列表。我想设置一个cron作业,并每小时向每个用户发送一次电子邮件通知。我的问题是: SELECT t.*, u.name, u.email FROM tasks t, users u WHERE t.date_created > DATE_SUB(NOW(), INTERVAL 1 HOUR) AND t.user_id = u.id ORDER BY t.date_created ASC 结果如下(我修剪了几列以更好地拟合): 问题是我不知道如何连接属于某
SELECT t.*, u.name, u.email
FROM tasks t, users u
WHERE t.date_created > DATE_SUB(NOW(), INTERVAL 1 HOUR) AND t.user_id = u.id
ORDER BY t.date_created ASC
结果如下(我修剪了几列以更好地拟合):
问题是我不知道如何连接属于某个用户id的任务,然后将它们发送到指定的电子邮件。因此,对于上述示例,将发送两封电子邮件:
尝试使用
GROUP\u CONCAT
aggregate命令:
SELECT GROUP_CONCAT(t.title), u.name, u.email
FROM tasks t, users u
WHERE t.date_created > DATE_SUB(NOW(), INTERVAL 1 HOUR) AND t.user_id = u.id
GROUP BY u.id
这将输出如下内容:
task1,task3 | John | js@gmail.com
task2,task4 | Tim | ti@gmail.com
默认值是逗号分隔的字符串,但您可以指定另一个类似这样的分隔符:
GROUP\u-CONCAT(t.title,'and')
尝试使用GROUP\u-CONCAT
aggregate命令:
SELECT GROUP_CONCAT(t.title), u.name, u.email
FROM tasks t, users u
WHERE t.date_created > DATE_SUB(NOW(), INTERVAL 1 HOUR) AND t.user_id = u.id
GROUP BY u.id
这将输出如下内容:
task1,task3 | John | js@gmail.com
task2,task4 | Tim | ti@gmail.com
默认值是逗号分隔的字符串,但您可以指定另一个类似这样的分隔符:
GROUP\u CONCAT(t.title,'and')
我不确定您想要什么,但请尝试通过电子邮件分组
或通过用户id分组
?我不确定您想要什么,但请尝试通过电子邮件分组
或通过用户id分组
?谢谢!您也可以使用选择GROUP_CONCAT(t.title)作为标题
来更改列标题。谢谢!您还可以使用选择GROUP_CONCAT(t.title)作为标题
来更改列标题。