0

我有一个允许人们互相发送消息的表单,用户可以选择多个人发送消息,当我提交表单时,它会给我选择在数组中发送消息的人的姓名和 ID。直到在这里我能够让它为单个收件人工作

我希望能够在 mysql 表的不同行中为每个用户使用这个数组和 INSERT 消息

这是我提交表单时得到的数组

Array (
[to_user_id] => Array
    (
        [0] => 54
        [1] => 55
    )

[subject] => aaa
[message] => bbb
[send_message] => 

这是适用于单个收件人但不适用于多个收件人的代码部分

$to_user_id_array = ($_POST['to_user_id']);
$params = array(
            ':to_user_id' => $to_user_id_array,
            ':subject' => $_POST['subject'],
            ':message' => $_POST['message'],
            ':sender_id' => $this->user_id,
            ':status' => "0",
            ':type' => "message",
            ':sender_name' => $sender_name,
            ':to_user_name' => $to_user_name,
            ':delete_received' => 'no',
            ':delete_sent' => 'no',

        );


        $sql = "INSERT INTO `messages` (`sender_id`,`subject`,`comment`,`to_user_id`,`status`,`type`,`sender_name`,`to_user_name`,`delete_received`,`delete_sent`)
                                VALUES (:sender_id, :subject, :message, :to_user_id, :status, :type, :sender_name,:to_user_name,:delete_received,:delete_sent);";
        parent::query($sql, $params);
        $this->error = "<div class='alert alert-success'>" . _('Your message has been sent.') . "</div>";

非常感谢任何帮助..

4

1 回答 1

0

这对我有用,我希望这对处于类似位置的其他人有所帮助

while ($value = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $params = array(
        ':to_user_id' => $value['user_id'],
        ':subject' => $_POST['subject'],
        ':message' => $_POST['message'],
        ':sender_id' => $this->user_id,
        ':status' => "0",
        ':type' => "message",
        ':sender_name' => $sender_name,
        ':to_user_name' => $value['name'],
        ':delete_received' => 'no',
        ':delete_sent' => 'no',
    );
    $sql = "INSERT INTO `messages` (`sender_id`,`subject`,`comment`,`to_user_id`,`status`,`type`,`sender_name`,`to_user_name`,`delete_received`,`delete_sent`)
               VALUES (:sender_id, :subject, :message, :to_user_id, :status, :type, :sender_name,:to_user_name,:delete_received,:delete_sent);";

    parent::query($sql, $params);
}
于 2013-07-09T14:49:26.377 回答