ajax — разрешить пользователю локально сохранять html-таблицы в csv, PHP & amp; Javascript

Редакция:

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

Настройка: файл с именем main.php, который содержит всю обработку, переменные, массивы и т. Д. => Передает все данные на веб-страницы, одной из которых является table.php (эта страница динамически выводит один из массивов из main.php в HTML-таблицу ) => ссылка в table.php на tblProcess.php с заголовками, которые выводят файл для загрузки.

код у меня сейчас в файле tblProcess.php, который работает

header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=$filename");
// Disable caching
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1
header("Pragma: no-cache"); // HTTP 1.0
header("Expires: 0"); // Proxies

outputCSV(array(
array("name 1", "age 1", "city 1"),
array("name 2", "age 2", "city 2"),
array("name 3", "age 3", "city 3")
));

function outputCSV($data) {
$output = fopen("php://output", "w");
foreach ($data as $row) {
fputcsv($output, $row); // here you can change delimiter/enclosure
}
fclose($output);
}

ссылка в table.php на tblProcess.php

<a id="dl" href="downloadProcess.php">Download</a>

с этим фиктивным массивом данных в файле, когда вы нажимаете на ссылку, все работает как положено, и она просит вас загрузить filename.csv (с фиктивными данными в нем), так что я знаю, что код в порядке.

У меня большие проблемы с тем, как получить мою HTML-таблицу из table.php в этот файл. Отправка его через ajax и получение через $ _POST не работали вообще, как бы я ни пытался, но я не могу понять, как еще вставить эту таблицу в этот файл?

способ динамического отображения таблицы в table.php (из массива, включенного в main.php)

  echo "<div id='assnTable'><table id='assign' border='1px'>";
echo "<thead><th>uniqueID</th><th>Name</th><th>FundCode</th><th>Amount $</th><th>FundCode</th><th>Amount $</th><th>Totals:</th></thead>";
$count = 1;
echo "<tbody>";
foreach($assn as $unID => $asnm) {
oddClass($count);
echo "<td>{$unID}</td>";
echo "<td>";
echo $stu[$unID]['USER_LAST_NAME'].", ".$stu[$unID]['USER_FIRST_NAME'];
echo "</td>";
foreach($asnm as $fund => $amt) {
echo "<td>{$fund}</td>";
echo "<td class='sumCell'>{$amt}</td>";
}
$count++;
echo "</tr>";
}
echo "<tr class='totalRow'><td></td><td></td><td></td><td></td><td></td><td id='last'><b>Total:</b></td></tr>";
echo "</tbody></table></div>";

В заключение, мой большой вопрос: как мне получить эту HTML-таблицу в файл обработки, который загружает файл? Я могу очистить и подготовить его в массив или все, что мне нужно, я просто не могу понять, как поместить его в другой файл. Попытка связать сообщение ajax с нажатием на ссылку загрузки отключает его загрузку.
Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector