2014-06-18 48 views
0
<?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]; 
?> 

這個函數以前是單塊代碼。現在我試着將它改爲一個通用函數。沒有錯誤產生。該函數的輸出數組似乎是空的。PHP函數不工作,幾個參數,數組返回

+1

您確定您的查詢運行正常嗎? ('ini_set('display_errors',1); error_reporting(E_ALL);')? – Darren

回答

1

您不會將函數調用的輸出存儲到任何地方並嘗試執行echo

,可以儲存返回的輸出一些變量(讓說,$calculateTotals),然後做echo

echo "TEST CALC"; 
$calculateTotals = calculateTotals("timePIC","1","100","0"); 
echo $calculateTotals[0]; 

這應該工作。

+0

非常感謝!這就解決了,當然! – N34X

+0

最受歡迎的傢伙..然後不要忘記標記爲答案。 :) –