2013-02-24 81 views
-1

我正在构建一个网络平台,游客可以向专业人士提问,这些专业人员分为几个不同的类别。使用PHP从MySQL数据库表发送电子邮件给具有特定字段的收件人?

我有以下表格: - “问题”(包含问题,访客的电子邮件地址和类别) - “专业人士”(包含相关信息,专业的电子邮件和类别) - “回应” (包含回复,问题ID和专业ID)

好吧,这是我想要做的: - 当'questions'表更新时,我希望平台发送电子邮件给专业人士所选的类别。

    当专业解答的问题,我想发送电子邮件给访问者

当数据库更新时,我已经收到一封管理员电子邮件,所以我知道这可以做到。

B.T.W.,我是新手,所以很多细节请!

感谢您的帮助!

伊恩

+0

如何更新'questions'和'响应'表?在此期间收到电子邮件地址并发送电子邮件。 – Eggplant 2013-02-24 22:21:51

+1

除了说“添加代码发送电子邮件更新”我不知道如何回答 – 2013-02-24 22:25:23

回答

2

如果你有很多专业人士表人才,这将是最好使用一种PHP邮件排队系统。否则,该脚本可能会运行很长时间,并且在执行时间范围内从未完成。最好在后台执行(例如每10分钟执行一次cron作业)。

让我们假设只有两个专业人员。

当您更新数据库以插入新问题时,请从类别中提取专业人员列表。你需要把问题的类别到一个变量(如$类)

$results = mysql_query("SELECT email FROM professionals WHERE category=$category"); 

现在你有一个包含所有有关该类别的专业人士的电子邮件的结果集。把所有这些整齐地放入一个数组中。

$emails = array(); 
while($row = mysql_fetch_assoc($results)){ 
       $emails[] = $row['email']; 
    } 

我们有专业人士的电子邮件的数组,现在我们需要发邮件给他们:

foreach($emails as $email){ 
     mail($email,"A new question in your category!","Text goes here"); 
     } 

的更多信息:http://php.net/mail

+0

哇!这非常好! 感谢PseudoOne! 我想我可以扭转'响应'表更新的过程。 我将有超过100名专业人士。我猜是更好的一个cron工作! 您的帮助非常感谢! :) 保重! Ian – user2105475 2013-02-25 01:23:37

相关问题