PHPExcel将excel导入数据库操作,数据表中只保存一条记录 [ 求助交流 ]
用PHPExcel将本地的excel上传给服务器,在服务器后台程序中可以打印出来excel的所有数据,但是在插入数据库的时候,提示插入成功,但是在数据表中确只有一条数据,经过反复测试发现:foreach循环没有问题,问题出在一致循环的在修改插入的第一条数据,而不是重新插入新的数据,最后的结果是数据库中只插入了最后的那条数据,前面的数据全部被覆盖了。源码如下:请高手指教
$res = $model->read($uploadfile);//上传的本地excel中的数据,
var_dump($res);//打印出来的结果为二维数组
/** array (size=8) 2 =>
array (size=7)
0 => string '后来时间都与你有关' (length=27)
1 => string '6' (length=1)
2 => string '100' (length=3)
3 => string '30' (length=2)
4 => string '28.4' (length=4)
5 => string '天津人民出版社 ' (length=23)
6 => string '张皓宸' (length=9)
3 =>
array (size=7)
0 => string '守护故事的人(一部与《杀死一只知更鸟》相同深度和力量的作品)' (length=86)
1 => string '6' (length=1)
2 => string '100' (length=3)
3 => string '30' (length=2)
4 => string '29.7' (length=4)
5 => string '百花洲文艺出版社' (length=24)
6 => string '丽萨·温格特' (length=17)
4 =>
array (size=7)
0 => string '后来时间都与你有关' (length=27)
1 => string '6' (length=1)
2 => string '100' (length=3)
3 => string '30' (length=2)
4 => string '28.4' (length=4)
5 => string '天津人民出版社 ' (length=23)
6 => string '张皓宸' (length=9)
5 =>
array (size=7)
0 => string '后来时间都与你有关' (length=27)
1 => string '6' (length=1)
2 => string '100' (length=3)
3 => string '30' (length=2)
4 => string '28.4' (length=4)
5 => string '天津人民出版社 ' (length=23)
6 => string '张皓宸' (length=9)**/
foreach ($res as $k => $v){
$title = $v[0];
$descr = $v[0];
$cateid = $v[1];
$num = $v[2];
$price = $v[3];
$saleprice = $v[4];
$merchants = $v[5];
$author = $v[6];
$sellerid = (int)Yii::$app->session['sellers']['sellerid'];
$model->title = $title;
$model->descr = $descr;
$model->cateid = $cateid;
$model->num = $num;
$model->price = $price;
$model->saleprice = $saleprice;
$model->merchants = $merchants;
$model->author = $author;
$model->sellerid = $sellerid;
if ($model->save()){
echo "成功"."<br/>";
}else{
echo "失败";
}
共 3 条回复
410060781
注册时间:2017-08-01
最后登录:2017-11-01
在线时长:0小时44分
最后登录:2017-11-01
在线时长:0小时44分
- 粉丝0
- 金钱10
- 威望0
- 积分10