这对我来说是一个完全的谜。我有一个循环数据查询的函数。我试图将数据收集到变量中作为表的行。但是,该变量不会返回。我可以回应它,但不能回复它。 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
,它会显示,但当我返回时,它是空的。
答案 0 :(得分:0)
看起来它使用相同的结果集两次并且没有在两次调用之间重置光标(即第一次$result
正常,第二次它已经在结束时结果。改为:
$table = show_data($result);
if ($table != "false") {
echo $table;
}