2014-06-18 4 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]; 
?> 

Cette fonction a précédemment fonctionné en un seul bloc de code. Maintenant, j'ai essayé de le changer en une fonction générique. Aucune erreur n'est produite. Le tableau de sortie de la fonction semble vide.Fonction PHP ne fonctionnant pas, plusieurs arguments, retour de tableau

+1

Vous êtes sûr que vos requêtes fonctionnent correctement? Avez-vous un rapport d'erreur sur ('ini_set ('display_errors', 1); error_reporting (E_ALL);')? – Darren

Répondre

1

Vous ne stockez pas la sortie de l'appel de fonction à n'importe où et essayez de faire echo.

Vous devez stocker la sortie de retour à une variable (laisser dire, $calculateTotals) puis faire echo

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

Cela devrait fonctionner.

+0

Merci beaucoup! Cela a résolu, bien sûr! – N34X

+0

La plupart des bienvenus mec .. alors ne pas oublier de le marquer comme réponse. :) –

Questions connexes