for ($row = 1; $row <= $highestRow; $row++){
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
//这里得到的rowData都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果
var_dump($rowData);
echo "<br>";
$output = array_slice($rowData, 2);
}
上边这段代码是把excel中的数据取出来并显示到网页上,但是显示出来的是数组,我如何用foreach语句取出数组里的每个值并插入到数据库呢
array(1) { [0]=> array(8) { [0]=> string(2) "id" [1]=> string(4) "name" [2]=> string(5) "cname" [3]=> string(8) "password" [4]=> string(6) "gender" [5]=> string(3) "age" [6]=> string(5) "bumen" [7]=> string(5) "zhiwu" } }
array(1) { [0]=> array(8) { [0]=> float(80005) [1]=> string(8) "zhangsan" [2]=> string(6) "张三" [3]=> float(1234) [4]=> string(3) "男" [5]=> float(25) [6]=> string(9) "信息部" [7]=> string(6) "职员" } }
上边这段代码是显示在网页上的,如何把这些数据取出来并插入到数据库呢,求大神
$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';
主要就是拼接values后面的内容,一个括号一条数据,拼接完执行数据库插入操作就行了;
如果数据量很大,注意每次拼接的sql不要太长了,数据库执行的sql也是有长度限制的追问
那我这段代码的那个SQL语句的value值该怎么写呢?
追答$sql = 'insert into tablename(field1, field2, field3) values';
for ($row = 1; $row rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
var_dump($rowData);
echo "";
$output = array_slice($rowData, 2);
$sql .= '(' . $v1 . ',' . $v2 . ',' . $v3 . ')' . ','
}
$sql = rtrim(',' , $sql);