Я пытаюсь создать портал для анализа данных, который позволяет мне экспортировать одну из моих таблиц в формате CSV. Проблема, которую я имею сейчас, заключается в том, что когда пользователь выбирает огромный диапазон данных, он терпит неудачу, потому что он достиг максимального размера стека для переменных Javascript, доступных для моего браузера. (Как поясняется here). Решение состоит в том, чтобы разбить их на меньшие части массива Javascript, а затем объединить их позже.Разделение большого массива PHP на более мелкие куски для javascript
Моя проблема
У меня есть большой массив PHP (переменного размера, потому что я не буду знать, что диапазон пользователь выбирает) и мне нужно, чтобы разделить их на переменное число JavaScript-массивов, а затем объединить их снова позже. Как я могу это достичь?
Мой код в настоящее время выглядит, что
<?php
$array2 = getAllRawData($startDate, $endDate, $merchantID);
array_unshift($array2, ...TO ADD HEADER TO CSV....));
?>
// I am thinking some magic is supposed to happen here that splits my PHP array into smaller parts, assign them to javascript arrays and then concatenate them together into items2.
var items2 = <?php echo json_encode($array2);?>; // this is what I currently do but fails when the date range gets too wide.
var jsonObject2 = JSON.stringify(items2);
var csv2 = ConvertToCSV(jsonObject2);
a=document.createElement('a');
a.textContent='Download Raw Waiting Time Report';
a.download="RawWaitTime.csv";
a.href='data:text/csv;charset=utf-8,'+escape(csv2);
document.body.appendChild(a);
Почему вы все это переживаете? Не можете ли вы просто загрузить CSV-файл прямо с сервера в качестве загрузки? –
Согласен с Майком В. Обычно, когда вы смешиваете PHP-код в Javascript-код, вы слишком усложняете что-то. – teynon
Хммм Я никогда не думал об этом, может быть, я попробую. Любые советы или рекомендации по этому поводу будут очень благодарны! – chongzixin