我正在寻找创建脚本来上传CSV文件或xls并插入数据库。我已经成功到现在为止,但是我
ID CODE CAP1 CAP2 CAP3
1 AA 50 60 70
2 BB 80 90 100
3 AA 120 130
我想做的是将它插入到像这样的mysql表tbl_dimensions中:
RECID DRAFT_IMPORT CODE ID HEADER VALUE
1 XXXXX AA 1 CAP1 50
2 XXXXX AA 1 CAP2 60
3 XXXXX AA 1 CAP3 70
4 XXXXX BB 2 CAP1 80
5 XXXXX BB 2 CAP2 90
6 XXXXX BB 2 CAP3 100
7 XXXXX AA 3 CAP1 NULL/0
8 XXXXX AA 3 CAP2 120
9 XXXXX AA 3 CAP3 130
基本上不是在SQL中创建一个宽表,而是想在表中创建一个列表,但我需要保留项目Code,AA,BB等。可以多次使用相同的代码,所以我想使用CSV / XLS中的行nr来协调来自CAP1,CAP2,CAP3的值。 Cap1,2 3,可以是任何东西,每天都有变化,所以我不能为每个将要出现的选项定义足够宽的表。
非常感谢
答案 0 :(得分:0)
我已经设法找出可以使用数组。我仍然没有对它进行排序,但我会把我的代码放在这里,也许你可以帮助我。
combination
我的csv文件如下所示:
<?php
function csv_to_array($filename='', $delimiter=',') {
if(!file_exists($filename) || !is_readable($filename)) return
FALSE; $header = NULL; $data = array(); if (($handle =
fopen($filename, 'r')) !== FALSE) { while (($row =
fgetcsv($handle, 1000, $delimiter)) !== FALSE) { if(!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
} fclose($handle); } return $data; } /** * Example */ print_r(csv_to_array('example.csv'));
?>
我想要做的是插入像这样的
这样的mysql表cod_piesa, lungime, latime, inaltime
gl, 5000,, 150
fd, 3000, 2000, 100
mysql表名为tbl_drafts,它包含draft_id,row,cod_piesa,header,value列。 draft_id是我将生成的临时ID,例如$ draft_id = 1
插入后我需要将他重定向到一个新页面,在那里我将比较不同的结果,让我们说'verification.php'。非常感谢您的所有答案
暂时我正在使用上传到服务器上的文件,但我需要手动上传选项,访问者可以上传CSV或Excel文件。
我相信如果解决这个问题会有很多人帮助我。 我看了一下换位选项,但我无法弄明白。