Переменная не возвращается

Это полная загадка для меня. У меня есть функция, которая проходит через запрос данных. Я пытаюсь собрать данные в переменную в виде строк для таблицы. Однако эта переменная не вернется. Я могу повторить это, но не вернуть. Переменная $table_rows в то время как цикл.

function show_data($result) {

$total_time = 0;

$table_rows = '<table style="width: 1200px;"><tr><th width="30%">Date</th><th width="10%">Hour</th><th width="10%">Business</th><th width="40%">Task</th><th width="10%">Time</th></tr>';

if ( mysqli_num_rows($result) > 0) {

// output data of each row
while($row = mysqli_fetch_assoc($result)) {$total_time += $row["Total_Time"];

$hours = floor($row["Total_Time"] / 3600);

$mins = floor($row["Total_Time"] / 60 % 60);

$table_rows .= '<tr><td>'.$row['Date'].'</td><td>'.$row["Hour_Done"].'</td><td>'.$row["Business"].'</td><td>' . $row["Task"]. '</td><td>' . $hours.':'.$mins.'</td></tr>';

}

$hours = floor($total_time / 3600);

$mins = floor($total_time / 60 % 60);

return $table_rows . '<tr><td colspan="4" align="right"><b>Total Time</b></td><td><b>'.$hours.':'.$mins.'</b></td></table>';
}
else {
return "false";
}
}
if( show_data($result) != "false") {
echo show_data($result);
}
else { echo "<h1>No data to display</h1>"; }

Если я повторяю $table_rows прямо за циклом while он отображается, но когда я его возвращаю, он пуст.

-1

Решение

Похоже, что он использует один и тот же набор результатов дважды и не сбрасывает курсор между вызовами (т.е. в первый раз $result все в порядке, второй раз это уже в конце результатов. Сделайте это вместо этого:

$table = show_data($result);
if ($table != "false") {
echo $table;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector