РЕДАКТИРОВАТЬ Я просто понял, что должен был json_encode
fromDate, который я передаю в качестве аргумента URL в вызове AJAX. Так что мне нужно использовать
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?php echo json_encode($fromDate) ;?>
вместо
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?php echo $fromDate ;?>
Я взял неправильный URL из jqx.dataAdapter
где вы можете пройти дату без json_encode
сначала. Экспорт в Excel все еще не работает, но мне удалось получить запрошенные данные из дБ и вывести их на страницу
EDIT-END
на существующей веб-странице я пытаюсь реализовать кнопку, которая экспортирует данные в Excel. Сначала я попытался создать простой файл php со следующим кодом
source.php
<form method="post" action="export.php">
<input type="submit" name="export" value="Export" />
</form>
файл export.php содержит необходимые данные PDO .dsn, а затем вызывает экспорт. function exportToExcelMembersByDate($PDOdbObject, $regDate)
export.php
exportToExcelMembersByDate($pdo, "2013-09-12");
function exportToExcelMembersByDate($PDOdbObject, $regDate)
{
.
.
.
header('Content-Type: application/xls');
header('Content-Disposition: attachment; filename=download.xls');
echo $output;
}
$output
содержит таблицу в <html>
, Когда я нажимаю кнопку, я сразу же получаю всплывающее окно с вопросом, хочу ли я сохранить или открыть файл Excel.
Теперь я хотел реализовать то же решение в существующей среде.
Я копирую функцию exportToExcelMembersByDate
к существующему data-layer.php
на соответствующей веб-странице у меня есть следующее
Source.php
<?php
$fromDate = $_POST['fromDate'];
?>
<script>
$("#export").click(function ()
{
exportToExcel();
}
);
function exportToExcel()
{
$.ajax({
type: 'GET',
dataType: 'html',
url: 'json-responses.php?fct=exportToExcelMembersByDate®Date= + <?php echo $fromDate ;?>,
})
}
</script>
<div>
<input type="button" id="export" value="Export to Excel" />
</div>
JSON-responses.php
if ($_GET['fct'] == 'exportToExcelMembersByDate')
{
$result = exportToExcelMembersByDate($connectionObject, $_GET['regDate']);
echo $result;
}
Но вот когда я нажимаю на кнопку ничего не происходит. В AJAX я попробовал.
async: true/false
dataType: json/txt/html
type: 'POST'/'GET'
Задача ещё не решена.
Других решений пока нет …