允许的内存大小为536870912字节耗尽(尝试分配117770705字节)
我正在使用codeigniter。我正在制作一个透视表仪表板,它将渲染数百万条记录。我已将php.ini中的memory_limit调整为1024M。我已经划分了我的查询以防止内存缓冲查询错误。这是我的控制器:
enter code here
$c = $this->stock_model->count_data();
$count = $c[0]["c"];
$from_id= 1;
$to_id=100000;
$data = '["BranchCode","rowid","BranchName","SBRDate", "ItemCode","ItemDesc","ItemPrice","ItemBalance","ItemAmount","ItemGroup","ItemCategory", "ItemLine"],';
while(intval($count) > 0){
$view_report = $this->stock_model->view_report($from_id, $to_id);
//var_dump($view_report);
foreach ($view_report as $key => $value) {
$data .= '["'.$value["BranchCode"].'",';
$data .= '"'.$value["rowid"].'",';
$data .= '"'.rtrim($value["BranchName"]).'",';
$data .= '"'.$value["SBRDate"].'",';
$data .= '"'.$value["ItemCode"].'",';
$data .= '"'.str_replace('"','\"',rtrim($value["ItemDesc"])).'",';
$data .= '"'.$value["ItemPrice"].'",';
$data .= '"'.$value["ItemBalance"].'",';
$data .= '"'.$value["ItemAmount"].'",';
$data .= '"'.rtrim($value["ItemGroup"]).'",';
$data .= '"'.rtrim($value["ItemCategory"]).'",';
$data .= '"'.rtrim($value["ItemLine"]).'"],';
}
file_put_contents("assets/textfile/test1.min.js","$.myArray = [".$data."];");
$from_id = intval($from_id) + 100000;
$to_id =intval($to_id) + 100000;
$count = intval($count) - 100000;
}
$this->load->view('stock_view');
我的模型只是对所有记录的选择查询。
脚本已成功呈现,但数据透视表未显示。它现在加载了一个多小时。没有错误显示。而且我担心如果数据增加他就不会成功。即使行增加,如何以最简单的方式呈现数百万行而不会达到限制。请帮忙。