отображать миллионы строк в сводной таблице - PullRequest
0 голосов
/ 28 мая 2018

Допустимый объем памяти 536870912 байт исчерпан (попытался выделить 117770705 байт)

Я использую codeigniter.Я создаю сводную таблицу, которая будет отображать миллионы записей. Я настроил memory_limit в php.ini до 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');

моя модель - это просто запрос на выборку всех записей.

скрипт успешно обработан, но сводная таблица не отображается.он загружается уже больше часа.ошибка не отображается.и я боюсь, что он не сделает это, если данные увеличатся.Как я могу представить миллионы строк самым простым способом, не достигая предела, даже если строки увеличились.Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...