变量不返回

时间:2017-09-12 15:29:01

标签: php variables return

这对我来说是一个完全的谜。我有一个循环数据查询的函数。我试图将数据收集到变量中作为表的行。但是,该变量不会返回。我可以回应它,但不能回复它。 while循环中的变量为$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>"; }

如果我在while循环之外回显$table_rows,它会显示,但当我返回时,它是空的。

1 个答案:

答案 0 :(得分:0)

看起来它使用相同的结果集两次并且没有在两次调用之间重置光标(即第一次$result正常,第二次它已经在结束时结果。改为:

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