Php 持久循环mySQL
我有一个大约10名销售代表的表格,每次将新的潜在客户添加到数据库时,每个销售代表都应该收到一封包含潜在客户的新电子邮件Php 持久循环mySQL,php,mysql,round-robin,Php,Mysql,Round Robin,我有一个大约10名销售代表的表格,每次将新的潜在客户添加到数据库时,每个销售代表都应该收到一封包含潜在客户的新电子邮件 --------------------------------------------- id | name | email | active --------------------------------------------- 1 | bill | bill@billspills.com | y 2 | bo
---------------------------------------------
id | name | email | active
---------------------------------------------
1 | bill | bill@billspills.com | y
2 | bob | bob@bobsjobs.com | n
3 | sue | sue@suesshoes.com | y
4 | betty | jan@jansvans.com | y
我希望系统以循环方式向销售代表发送电子邮件。一旦到达表的末尾,它将从头开始。我只想通过电子邮件发送给“活动”标志设置为“y”的人。销售代表可以通过将标志设置为“n”来选择退出。因此,上述内容将通过电子邮件发送:
比尔,苏,简,比尔,苏,简等等
我需要这种持续性,因为潜在客户可能会在几分钟或几小时内出现,所以我需要一种方法来记住上次发送的电子邮件代表,以确定谁应该收到下一封电子邮件
我考虑使用第五列“emailedLast”,然后查询最后收到电子邮件的人,并选择下一个ID。我不确定如何重新开始,也许可以通过计算记录来确定表中的最后一个
我在问,只是想看看是否有一个更简单,更干净的方法,我错过了。我使用PHP来实现这一点
更新:
解决方案:(使用Laravel/Elount)
使用SQL的等效工具:
select * from `reps` where `active` = 'y' order by `updated_at` asc limit 1
update `reps` set `updated_at` = '2015-01-28 03:52:32' where `id` = '2'
添加一个
emailedLast
列(时间戳),当您向销售代表发送电子邮件时,将其设置为当前时间戳(now()
)
然后,您要查找下一个要发送电子邮件的代表的查询将是:
select * from reps where active = 'y' order by date asc limit 1;
select * from reps where active = 'y' order by date asc limit 1;