Может быть, я не был более ясен в своем последнем вопросе: введите ссылку здесь
У меня есть приложение PHP-MySQL, и я сделал визуализацию данных в библиотеке HighChart
. Сценарий восстановления данных: я импортирую файлы в MySQL
по bottom Update
в user interface
затем классический сценарий: PHP
отправляет запрос в MySQL
DataBase
и когда он получает результат, отправляйте его в представления через HighChart
.
Я сделал запрос, чтобы дать мне имя LRU
и пользовательский интерфейс. У меня есть input file
для его поиска и возврата его оборота. Это функция поиска:
private function rechLRU() { if ($this->_count == 0) { $this->_sqlWhere.="`piecearticles`.`ID_Article`=`article`.`ID_Article` AND `piecearticles`.`Designiation`=`article`.`Designiation` AND `article`.`ID_LRU`=`lru`.`ID_LRU` AND `lru`.`LRU`='" . $this->_lru . "'"; $this->_count++; } else { $this->_sqlWhere.="AND `piecearticles`.`ID_Article`=`article`.`ID_Article` AND `piecearticles`.`Designiation`=`article`.`Designiation` AND `article`.`ID_LRU`=`lru`.`ID_LRU` AND `lru`.`LRU`='" . $this->_lru . "'"; } //if (strpos($this->_sqlFrom,'article') == false) { $this->_sqlFrom.=', `article` '; //} if (strpos($this->_sqlFrom, 'lru') == false) { $this->_sqlFrom.=',`lru`'; } }
Проблема в том, что я не получаю все данные (я имею в виду здесь, например, я получаю 3 миллиона вместо 5 миллионов в HighChart и в файлах csv, но для same request
того same request
просто меняю имя LRU
в пользовательском интерфейсе здесь я получаю все данные.
Я попытался отобразить список LRU
возвращенный запросом, я добавил в последней из функции rechLRU()
$newJS= explode('/', $this->rechLRU()); print_r($newJS);
И здесь она вернула эту ошибку:
OutOfMemoryException in TurnoverQuery.php line 276: Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 14460634 bytes)
Это после моей функции для восстановления данных, и я отправляю результат HighChart
public function getJSResult(){ $data=""; $cummulatedData=""; $turn=0; $cum=0; if ($this->_year != 'Yearly'){ for ($i=1 ; $i<=$this->_monthNumber ; $i++){ $turn=$this->getDataPerMonth($i); $cum+=$turn; $data.=$turn; $cummulatedData.=$cum; if ($i != $this->_monthNumber){ $data.=','; $cummulatedData.=','; } }} else{ for ($i=date('Y')-4 ; $i<=date('Y') ; $i++){ $turn=$this->getDataPerYear($i); $cum+=$turn; $data.=$turn; $cummulatedData.=$cum; if ($i != date('Y')){ $data.=','; $cummulatedData.=','; } } } return $data.'/'.$cummulatedData; }
Мой ini_set
это был по умолчанию -1
я изменил его ini_set('memory_limit','8192')
Можете ли вы сказать мне, что уничтожение данных является причиной памяти, результата запроса или HighChart? Спасибо.