0
我想插入到基于csv上传文件的mysql中。所以,我需要将它们转换成insert_batch格式阵列笨象这样:从CSV导出错误的数组关联导入到mysql
$data = array(
array(
'title' => 'My title',
'name' => 'My Name',
'date' => 'My date'
),
array(
'title' => 'Another title',
'name' => 'Another Name',
'date' => 'Another date'
)
);
$this->db->insert_batch('mytable', $data);
的CSV这个样子(与标签分隔符),例如,只有两个记录
4 A B C D E F` 10.00 20.12 100 G H I 98 99 989 989 s d 0 0 0 0 0 0
6 A B C D E G 10.00 20.12 100 G H I 98 99 989 989 s d 0 0 0 0 0 0
我用这个库:Csvimport。
我不熟悉使用火花,所以我只是把这个库放到应用程序/库中。
所以这是我的代码:
if (!empty($_FILES)) {
$config['upload_path'] = "./assets/uploads";
$config['allowed_types'] = 'csv';
$this->load->library('upload', $config);
if (!$this->upload->do_upload("file")) {
echo "File cannot be uploaded";
} else {
$upload_data = $this->upload->data();
$csv = $upload_data['full_path'];
/*USE DOWNLOADED LIBRARY*/
$this->load->library('csvimport');
$tryOne = $this->csvimport->get_array($upload_data['full_path']);
echo "<pre>";
print_r($tryOne);
}
} elseif ($this->input->post('file_to_remove')) {
$file_to_remove = $this->input->post('file_to_remove');
unlink("./assets/uploads/" . $file_to_remove);
} else {
$this->listFiles();
}
结果是这样的:
Array
(
[0] => Array
(
[4] => 6
[A] => A
[B] => B
[C] => C
[D] => D
[E] => E
[F`] => G
[10.00] => 10.00
[20.12] => 20.12
[100] => 100
[G] => G
[H] => H
[I] => I
[98] => 98
[99] => 99
[989] => 989
[s] => s
[d] => d
[0] => 0
[] =>
)
这是问题,任何解决方案.. 感谢您的解决方案,
现在我得到这样的阵列:
Array
(
[0] => Array
(
[0] => 4
[1] => A
[2] => B
[3] => C
[4] => D
[5] => E
[6] => F`
[7] => 10.00
[8] => 20.12
[9] => 100
[10] => G
[11] => H
[12] => I
[13] => 98
[14] => 99
[15] => 989
[16] => 989
[17] => s
[18] => d
[19] => 0
[20] => 0
[21] =>
[22] =>
[23] => 0
[24] => 0
[25] => 0
[26] => 0
)
[1] => Array
(
[0] => 6
[1] => A
[2] => B
[3] => C
[4] => D
[5] => E
[6] => G
[7] => 10.00
[8] => 20.12
[9] => 100
[10] => G
[11] => H
[12] => I
[13] => 98
[14] => 99
[15] => 989
[16] => 989
[17] => s
[18] => d
[19] => 0
[20] => 0
[21] =>
[22] =>
[23] => 0
[24] => 0
[25] => 0
[26] => 0
)
)
这是真实的数组,但我怎样才能改变这样的指标:
Array
(
[0] => Array
(
[ID] => 4
[PIBAJU] => A
[JIKA] => B
[SAJA] => C
[BISA] => D
[DATA] => E
[LIMA] => F`
[DELAPAN] => 10.00
[SEMBILAN] => 20.12
[SEPULU] => 100
[SEBELAS] => G
[DUA BELAS] => H
[TIGABELAS] => I
[DUNIA] => 98
[KISAH] => 99
[CINTA] => 989
)
[1] => Array
(
so on, so on
)
)
你只需要插入一个标题行或预先定义的列名。如果您不确定如何操作,请更新您的问题,以表明这是您的问题。 – Julie