循环系统 php 和 mysql
Round Robin System php and mysql
我正在创建着陆页。所有进来的线索都进入我的数据库。我想从我的数据库中检索线索并将它们发送到 2 个电子邮件
例如像这样
潜在客户 1 -> 我的邮箱
领导 2 -> 我的员工
领导 3 -> 我的电子邮件
领导 4 -> 我的员工
lead 5 -> 我的邮箱
领导 6 -> 我的员工
知道我将如何开始吗?你建议我如何设置我的数据库?
您只需使用随机发生器(例如 mt_rand
)生成一个介于 0(您)和 1(您的雇主)之间的数字。如果你有更多的员工,那么就增加最大数量。
在您的数据库中,添加一个名为 "assignee" 或其他名称的列,当您存储电子邮件时,还要添加随机数。例如:
// Number of employees, excluding you
$employees = 1;
$stmt = $dbh->prepare("INSERT INTO emails (email, assignee) VALUES (:email, :assignee)");
$stmt->bindParam(':email', 'someone@example.com');
$stmt->bindParam(':assignee', mt_rand(0, $employees));
table 将如下所示:
email | assignee
--------------------------------
someone@example.com | 0
--------------------------------
someone2@example.com | 1
--------------------------------
someone3@example.com | 1
当您 select 记录时,assignee = 1 的记录分配给您的员工,而 assignee = 0 的记录是您的。
注意:这种方法是最简单的一种。它不是 return 0-1 的精确序列,但如果您有 N 封电子邮件,平均 50% 将分配给您,50% 将分配给您的员工(对于 "Law Of Large Numbers"),这样您就达到了目标!
这是分发,您可能希望在数据库中使用标记列处理此问题,此标记列可以存储 1 或 0,如果您是最后一个获得潜在客户的人,则为 1。当此人收到潜在客户时,令牌将被传递。
现在这种方法的固有问题是,在高需求环境中,读取和写入如果不连续发生,可能会导致潜在客户分配不正确。
所以你可能想要做一些类似函数或方法的事情来连续处理这个读取和令牌更新,或者如果你的数据库系统处理它,在同一个查询中通过更新 select 语句。
另一种处理方法 - 计算分配的潜在客户总数,并总是 select 收到最少潜在客户的人。有很多方法可以做到这一点,具体取决于您的目的。
希望对您有所帮助!
编辑:此外,如果您有潜在客户,您可以存储您的用户或员工 ID,无论您将用户存储在何处,以及您的潜在客户 - 这将使您能够看到哪个人收到了哪个潜在客户。
我正在创建着陆页。所有进来的线索都进入我的数据库。我想从我的数据库中检索线索并将它们发送到 2 个电子邮件
例如像这样
潜在客户 1 -> 我的邮箱
领导 2 -> 我的员工
领导 3 -> 我的电子邮件
领导 4 -> 我的员工
lead 5 -> 我的邮箱
领导 6 -> 我的员工
知道我将如何开始吗?你建议我如何设置我的数据库?
您只需使用随机发生器(例如 mt_rand
)生成一个介于 0(您)和 1(您的雇主)之间的数字。如果你有更多的员工,那么就增加最大数量。
在您的数据库中,添加一个名为 "assignee" 或其他名称的列,当您存储电子邮件时,还要添加随机数。例如:
// Number of employees, excluding you
$employees = 1;
$stmt = $dbh->prepare("INSERT INTO emails (email, assignee) VALUES (:email, :assignee)");
$stmt->bindParam(':email', 'someone@example.com');
$stmt->bindParam(':assignee', mt_rand(0, $employees));
table 将如下所示:
email | assignee
--------------------------------
someone@example.com | 0
--------------------------------
someone2@example.com | 1
--------------------------------
someone3@example.com | 1
当您 select 记录时,assignee = 1 的记录分配给您的员工,而 assignee = 0 的记录是您的。
注意:这种方法是最简单的一种。它不是 return 0-1 的精确序列,但如果您有 N 封电子邮件,平均 50% 将分配给您,50% 将分配给您的员工(对于 "Law Of Large Numbers"),这样您就达到了目标!
这是分发,您可能希望在数据库中使用标记列处理此问题,此标记列可以存储 1 或 0,如果您是最后一个获得潜在客户的人,则为 1。当此人收到潜在客户时,令牌将被传递。
现在这种方法的固有问题是,在高需求环境中,读取和写入如果不连续发生,可能会导致潜在客户分配不正确。
所以你可能想要做一些类似函数或方法的事情来连续处理这个读取和令牌更新,或者如果你的数据库系统处理它,在同一个查询中通过更新 select 语句。
另一种处理方法 - 计算分配的潜在客户总数,并总是 select 收到最少潜在客户的人。有很多方法可以做到这一点,具体取决于您的目的。
希望对您有所帮助!
编辑:此外,如果您有潜在客户,您可以存储您的用户或员工 ID,无论您将用户存储在何处,以及您的潜在客户 - 这将使您能够看到哪个人收到了哪个潜在客户。