0
從數據庫中拉出「大」sql查詢50000條記錄。它在大約5秒內完成,但在拉動之後,我通過一個函數來運行它來創建一個html表格,它由於某種原因保持超時。我可以將查詢限制爲< 30k,並且它將在大約19秒內執行php腳本,但是任何更大的表格都不會顯示,但是頁面上的所有內容都會加載。PHP在公共函數內超時
我試過正在重置的時間限制,但它並沒有解決問題
ignore_user_abort(true);
set_time_limit(0);
什麼能出導致時間生成表的時候?
EDIT1:
我修改php.ini文件,允許更長的執行時間,這並沒有解決問題。
public function report_table($data, $header_spacing, $column)
{
$html = "<div class='accordion_div'>";
foreach($data as $d_row){
$title = $d_row[0][$column];
$html .= $this->accorion_button($title);
$html .= "<div class='panel'><table border='0' style='$align; width: 980px;'>";
foreach($d_row as $d1){
$html .= "<tr>";
$x=0;
$y=$x+1;
$html .= "<td style='width: $header_spacing[$x];' scope='col' > </td>";
foreach($d1 as $d){
$html .= "<td style='width: $header_spacing[$y];' scope='col' >$d</td>";
$x++;
$y++;
}
$html .= "</tr>";
}
$html .= "</table>";
$html .= "</div>";
}
return $html;
}
你使用分頁?爲什麼不使用它一次顯示幾百個? –
爲什麼你不限制你的SQL查詢更少的記錄,讓表讓我們說500行和分頁?我認爲這是不好的做法,在html中有很多行。瀏覽器可能佔用太多內存。 –
順便說一句..你的超時...檢查你的php.ini有我相信60秒的限制,所以增加它 –