-1

我需要帮助。我正在尝试向多个用户发送消息,或者您可能会呼叫收件人。到目前为止,下面的代码只能向一个收件人发送消息。我想使用常规形式,其中用户名名称可以用逗号分隔,并且可以将一条或多条消息发送给所有用户,同时存储在 mysql 数据库中。它是一个基于数据库的电子邮件系统,而不是发送到不同的电子邮件地址系统。

我已经使用逗号分隔用户名字段中的用户名,但之后我被卡住了,并且这个简单的 jquery 不包含在下面的代码中,因为我不确定它如何使用它。

让我问一个更简单的问题,因为我不了解爆炸和每个问题。假设我想使用 id2 作为收件人向多个成员发送消息,同时在消息中添加信息,包括谁和什么字段。我会怎么做我会做。

 mysql_query('insert into pm (id, id2, title,  who, what, user1, user2, message, timestamp, user1read,    user2read)values("'.$id.'", "1", "'.$title.'",   "'.$who.'",  "'.$what.'", "'.$_SESSION['id'].'", "'.$dn1['recipid'].'", "'.$message.'", "'.time().'", "yes", "no")')

试过这个,但它仍然只向一个用户发送消息。

4

2 回答 2

1

你需要同时使用explode和foreach:

$recipients = explode(',',$recip);
foreach ($recipients as $r) {
    //We check if the recipient exists
    $dn1 = mysql_fetch_array(mysql_query('select count(id) as recip, id as recipid, (select count(*) from pm) as npm from header where username="'.$r.'"'));
        if($dn1['recip']==1)

                 echo 'recip exists';



        else
        {
       //Otherwise, we say the recipient does not exists
       $error = 'The recipient does not exists.';

        }
}
于 2013-09-14T05:37:51.500 回答
1

您将需要重组数据库以允许向多个用户发送消息。没有其他方法可以做到这一点。

一个 ID 字段不应该用于存储多个收件人 ID - 你迟早会遇到问题(我想你已经有:))。

以下是我将如何构建您的表格(我假设收件人和发件人都是您系统上的注册用户):

  • 消息表:消息 ID、发件人 ID、发送日期/时间、主题、消息、附件等。
  • 邮件收件人表:邮件 ID、收件人 ID(仅限单个收件人!)、状态(即是否已读/未读)

您必须将每个单独的收件人分别存储在“邮件收件人”表中,并通过邮件 ID 将其链接到“邮件”表。

希望这可以帮助。

于 2015-08-26T03:47:40.247 回答