Переменная PHP передается на сервер JasperReports для отчетов - PullRequest
3 голосов
/ 22 апреля 2010

Можно ли передать переменную из php в отчет на сервере JasperReports? Например, в моем php-приложении я храню Department_id в переменной сеанса. Я хотел бы передать Department_id моим отчетам, работающим на сервере JasperReports, и отобразить информацию, подходящую для этого отдела. в iReport у меня есть запрос вроде: SELECT * FROM employees WHERE department_id = $P{dept_id_from_php}, но мне нужно создать выпадающий список выбора для передачи параметра dept_id.

В конечном итоге я бы хотел, чтобы пользователь вошел в мое PHP-приложение для просмотра информации о сотруднике, относящейся к отделу, к которому принадлежит зарегистрированный пользователь. Я не хочу передавать это с помощью строки запроса, потому что пользователь может просто изменить идентификатор в строке запроса и получить доступ к информации других отделов. В идеале я хотел бы передать этот параметр только один раз, а затем повторно использовать его во всех отчетах, например, в качестве глобальной переменной.

Возможно ли это?

1 Ответ

2 голосов
/ 28 февраля 2012

Здесь есть потрясающий (маленький) php SOAP-интерфейс https://github.com/adlermedrado/PHP-JasperServer-Integration для этой цели. Это должно сэкономить время!

//example
//construct report object
$report    =    array("_REPORT_PARAMETER"=>$php_variable);

//valid output PDF, JRPRINT, HTML, XLS, XML, CSV and RTF
$jasper->run('/path/_Standard_Report','PDF',$report,false);

Следует отметить, что я не добился большого успеха с экспортом XLS, но другие форматы, кажется, работают очень хорошо.

...