<?php
function calculateTotals($column,$rowStart,$rowEnd,$boolSim) {
$queryTotalPage = "SELECT SUM(`" . $column . "`) FROM `mylogbook` WHERE `flightNumber` >= " . $rowStart . " AND `flightNumber` <= " . $rowEnd . " AND `simulator` = " . $boolSim;
$resultTotalPage = mysql_query($queryTotalPage) or die(mysql_error());
while($row = mysql_fetch_array($resultTotalPage)){
$totalTimeHoursPage = floor($row["SUM(" . $column . ")"]/60);
$totalTimeMinutesPage = sprintf('%02d', ($row["SUM(" . $column . ")"] % 60));
}
$queryTotalPreviousPages = "SELECT SUM(`" . $column . "`) FROM `mylogbook` WHERE `flightNumber` >= 1 AND `flightNumber` < " . $rowStart . " AND `simulator` = " . $boolSim;
$resultTotalPreviousPages = mysql_query($queryTotalPreviousPages) or die(mysql_error());
while($row = mysql_fetch_array($resultTotalPreviousPages)){
$totalTimeHoursPreviousPages = floor($row["SUM(" . $column . ")"]/60);
$totalTimeMinutesPreviousPages = sprintf('%02d', ($row["SUM(" . $column . ")"] % 60));
}
$queryTotal = "SELECT SUM(`" . $column . "`) FROM `mylogbook` WHERE `flightNumber` >= 1 AND `flightNumber` <= " . $rowEnd . " AND `simulator` = " . $boolSim;
$resultTotal = mysql_query($queryTotal) or die(mysql_error());
while($row = mysql_fetch_array($resultTotal)){
$totalTimeHours = floor($row["SUM(" . $column . ")"]/60);
$totalTimeMinutes = sprintf('%02d', ($row["SUM(" . $column . ")"] % 60));
}
return array($totalTimeHoursPage,$totalTimeMinutesPage,$totalTimeHoursPreviousPages,$totalTimeMinutesPreviousPages,$totalTimeHours,$totalTimeMinutes);
}
// TEST calculate totals
echo "TEST CALC";
calculateTotals("timePIC","1","100","0");
echo $calculateTotals[0];
?>此函数以前是单个代码块。现在,我尝试将其更改为泛型函数。不会产生错误。函数的输出数组看起来是空的。
发布于 2014-06-18 06:58:58
您不会将函数调用的输出存储到任何地方并尝试执行echo。
您应该将返回的输出存储到某个变量(例如,$calculateTotals),然后执行echo
echo "TEST CALC";
$calculateTotals = calculateTotals("timePIC","1","100","0");
echo $calculateTotals[0];这应该能行。
https://stackoverflow.com/questions/24278886
复制相似问题