データベーステーブルからの最大70万件のレコードを処理するレポートページがあります。結果を分割するためにページングを使用してこれをWebページに表示できます。ただし、PDF / CSV関数へのエクスポートは、データセット全体を一度に処理することに依存しており、約25万行で256MBのメモリ制限に達しています。
メモリ制限を増やすことに抵抗があり、MySQLの出力ファイルへの保存を使用して事前に生成されたCSVを提供する機能がありません。ただし、次のようなものを使用してDrupalで大規模なデータセットを提供する方法を実際に見ることはできません。
$form = array();
$table_headers = array();
$table_rows = array();
$data = db_query("a query to get the whole dataset");
while ($row = db_fetch_object($data)) {
$table_rows[] = $row->some attribute;
}
$form['report'] = array('#value' => theme('table', $table_headers, $table_rows);
return $form;
アレイの巨大なアレイに本質的に追加されているものを回避する方法はありますか?現時点では、これが原因でDrupalで意味のあるレポートページを提供する方法がわかりません。
ありがとう