добавление нескольких строк в таблицу mysql на основе массива

Вопрос:

У меня есть форма, которая позволяет людям сообщать друг другу, пользователь может выбрать нескольких людей для сообщения, когда я отправляю форму, она дает мне имя и идентификатор людей, выбранных для сообщения в массиве. uptil здесь я могу заставить его работать для одного получателя

Я хочу иметь возможность использовать этот массив и сообщение INSERT для каждого пользователя в разных строках таблицы mysql

это массив, который я получаю, когда я отправляю форму

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>";

Пойду поможем любой помощи.

Лучший ответ:

Это то, что сработало для меня, я надеюсь, что это поможет кому-то еще в подобном положении

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);
}

Оцените статью
TechArks.Ru
Добавить комментарий