php中foreach循环,出现一个问题,提取数据时总是缺一条数据?总数100条的提出99条来,剩下一条,不见了

$sskkMap=array('商品代码'=>'A','商品'=>'B','价格'=>'C');$kkssMap=array('aasd'=>'A','sxfd'=>'B... $sskkMap = array('商品代码'=>'A','商品'=>'B','价格'=>'C');
$kkssMap = array('aasd'=>'A','sxfd'=>'B','dxdx'=>'C');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
$lists = $db->select($sql);
$i = 0 ;
foreach($lists as $record)
{
$i++;
if($i == 1) //$i==0,数据首条就出现了。但是表格首行没了
foreach($sskkMap as $k =>$col) //表格首行
{
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $k);
}
else
foreach($kkssMap as $k =>$col) //表格第二行起。这里总是缺一条数据没提取出来。。
{ //好像就是数据的首条。
$objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $record[$k]);
}
}
if(!empty($lists))
{
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
展开
 我来答
willper
2013-10-20 · 超过19用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:49.1万
展开全部

同学,你试试这样

    $sskkMap = array('商品代码'=>'A','商品'=>'B','价格'=>'C');
    $kkssMap = array('aasd'=>'A','sxfd'=>'B','dxdx'=>'C');
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setCreator("Maarten Balliauw");      
    $sql = "select * from CARCAR where '1'  LIMIT 0 ,500";  //完成
    $lists = $db->select($sql); 
    $i = 0 ;
    foreach($lists as $record){ 
        if($i == 0){                                   //$i==0,数据首条就出现了。但是表格首行没了
            foreach($sskkMap as $k =>$col){   //表格首行
                $objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $k); 
            }
        }
        else{
            foreach($kkssMap as $k =>$col){        //表格第二行起。这里总是缺一条数据没提取出来。。
                $objPHPExcel->setActiveSheetIndex()->setCellValue($col.$i, $record[$k]);  
            }
        }
        $i++;
    } 
    if(!empty($lists)){
        $objPHPExcel->getActiveSheet()->setTitle('Simple'); 
        $objPHPExcel->setActiveSheetIndex(0);
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
        $objWriter->save('php://output');
    }
追问
谢谢。试了下你的代码,但是和以前一样。。只能提出100条,但是还是没有首行标题。
现在的状况,就是提取的EXECL表,总数老是100条,要么数据99条+1条标题,要么就是全部100数据+0标题行。。。按理说正确应该为101条,一行标题+100行数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甞寻欢
2013-10-19 · 超过24用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:39.8万
展开全部
你要输出表头就别把表头放在foreach循环里啊,或者提出foreach的index再做判断,而不是用for循环啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MayMrZZ
2013-10-20
知道答主
回答量:34
采纳率:0%
帮助的人:16.7万
展开全部
$sql = "select * from CARCAR where '1' LIMIT 0 ,500"; //完成
我很好奇,后面条件1是给哪个字段的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独白一逍遥
2013-10-19
知道答主
回答量:20
采纳率:0%
帮助的人:18.7万
展开全部
你猜!!!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式