请检查以下代码。
$key = $_SESSION['order_nums'];
$sqll = "SELECT * FROM `money` WHERE `order` = :key";
$qq=$con->prepare($sqll);
$qq->bindvalue(":key", $key);
$qq->execute();
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet
$excel2->setActiveSheetIndex(0);
$worksheet = $excel2->getActiveSheet();
$Cno = '7';
$COno = '7';
$MSno = '7';
$CHno = '7';
$ALno = '7';
while($fdata=$qq->fetch(PDO::FETCH_ASSOC))
{
$totalCost += $fdata['cost'];
/*
$worksheet
->setCellValue('A' . $Cno++, $fdata['code'])
->setCellValue('D' . $COno++, $fdata['cost'])
->setCellValue('E' . $MSno++, $fdata['time'])
->setCellValue('F' . $CHno++, $fdata['hourly'])
->setCellValue('G' . $ALno++, $fdata['ot']);*/
}
好的,代码中说$totalCost += $fdata['cost']
的部分是说它是一个未定义的变量。然而,我评论掉了下面的代码。。如果我取消对它的注释,它就完美了。
在使用$totalCost
变量之前没有定义它,所以在循环$totalCost = 0;
时应该在外部定义它
$totalCost = 0;
while($fdata=$qq->fetch(PDO::FETCH_ASSOC))
{
$totalCost += $fdata['cost'];
/*
$worksheet
->setCellValue('A' . $Cno++, $fdata['code'])
->setCellValue('D' . $COno++, $fdata['cost'])
->setCellValue('E' . $MSno++, $fdata['time'])
->setCellValue('F' . $CHno++, $fdata['hourly'])
->setCellValue('G' . $ALno++, $fdata['ot']);*/
}
因为这行$totalCost += $fdata['cost'];
表示$totalCost = $totalCost + $fdata['cost'];
,在这种情况下,它没有找到var $totalCost