2013-07-05 3 views
0

У меня есть форма, которая позволяет людям сообщать друг другу, пользователь может выбрать нескольких людей для сообщения, когда я отправляю форму, она дает мне имя и идентификатор людей, выбранных для сообщение в массиве. uptil здесь я могу заставить его работать для одного получателяДобавление нескольких строк в таблице 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>"; 

действительно будет признателен за любую помощь ..

+0

'' for' или foreach' петлю на 'to_user_id' –

ответ

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); 
} 
Смежные вопросы