2013-07-05 69 views
0

我有一个允许人们互相发送消息的表单,用户可以选择多个人发送消息,当我提交一个表单时,它会给出我选择的人的姓名和ID消息在数组中。 uptil这里我能够得到它的单个收件人在基于数组的mysql表中添加多行

我希望能够利用这个阵列,并在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'或''上to_user_id' foreach'环 –

回答

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