1

将 post 值保存到数组中。

$data2 = array(
  'invoice_id' =>($id),
  'order_id' => $this->input->post('order_id'),
  'invoiceitems_servicetype' =>$this->input->post('type'),
  'invoiceitems_quantity' => $this->input->post('quantity'),
  'invoiceitems_unitprice' => $this->input->post('rate'),
  'invoiceitems_notes' => $this->input->post('description')
      );

 $this->db->insert('abc_invoiceitems', $data2);

print_r($data2);

数组结构。

Array
(
    [invoice_id] => 21
    [order_id] => 1
    [invoiceitems_servicetype] => Array
        (
            [0] => Order
            [1] => Miscellaneous
            [2] => Order
        )

    [invoiceitems_quantity] => Array
        (
            [0] => 5
            [1] => 64
            [2] => 88
        )

    [invoiceitems_unitprice] => Array
        (
            [0] =>  5
            [1] =>  6
            [2] =>  8
        )

    [invoiceitems_notes] => Array
        (
            [0] => test Data1
            [1] => test Data2
            [2] => test Data3
        )

)

将数组值插入数据库表。

TABLE NAME --- abc_invoiceitems 
 +------------+----------+--------------------------+-----------------------+------------------------+--------------------+
 | invoice_id | order_id | invoiceitems_servicetype | invoiceitems_quantity | invoiceitems_unitprice | invoiceitems_notes |
 +------------+----------+--------------------------+-----------------------+------------------------+--------------------+

我收到以下错误,错误是:

这些值作为数组返回。

插入abc_invoiceitems( invoice_id, order_id, invoiceitems_servicetype, invoiceitems_quantity, invoiceitems_unitprice, invoiceitems_notes) 值 ('21', '1', 数组, 数组, 数组, 数组)

4

2 回答 2

4

获取帖子值:

$temp =count($this->input->post('type'));//counting number of row's
$type= $this->input->post('type');
$quantity = $this->input->post('quantity');
$rate = $this->input->post('rate');
$description = $this->input->post('description');

循环遍历键值:

for($i=0; $i<$temp;$i++){
  $data2 = array(
  'invoice_id' =>($id),
  'order_id' => $this->input->post('order_id'),
  'invoiceitems_servicetype' =>$type[$i],
  'invoiceitems_quantity' => $quantity[$i],
  'invoiceitems_unitprice' => $rate[$i],
  'invoiceitems_notes' => $description[$i]
      );
   $this->db->insert('abc_invoiceitems', $data2);
  }
于 2013-02-05T10:23:38.547 回答
1

将数组转换为序列化字符串怎么样?

$data2 = array(
    'invoice_id' =>($id),
    'order_id' => $this->input->post('order_id'),
    'invoiceitems_servicetype' => serialize($this->input->post('type')),
    'invoiceitems_quantity' => serialize($this->input->post('quantity')),
    'invoiceitems_unitprice' => serialize($this->input->post('rate')),
    'invoiceitems_notes' => serialize($this->input->post('description'))
);

$this->db->insert('abc_invoiceitems', $data2);

当您想将数据从数据库中拉回时,您可以对字符串进行反序列化。

于 2013-02-05T09:56:22.283 回答