Переменная PHP передается на сервер JasperReports для отчетов

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

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

Это возможно?


person Ronedog    schedule 21.04.2010    source источник
comment
Здравствуйте, Ronedog, у меня точно такая же проблема, как у вас, вы нашли решение? или есть какие-то подсказки?, спасибо заранее.   -  person    schedule 24.04.2010
comment
Я хочу... Попробуйте OpenReports сейчас, чтобы посмотреть, чем он может мне помочь   -  person Ronedog    schedule 27.04.2010
comment
Я обнаружил, что ищу точно такую ​​​​же функциональность. Интересно, как вы в итоге решили?   -  person Lee    schedule 10.11.2011
comment
См. этот вопрос для размышлений по этому вопросу: заголовок stackoverflow.com/questions/8795932/   -  person MaxH    schedule 20.01.2012


Ответы (1)


Здесь есть потрясающий (небольшой) интерфейс 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, но другие форматы, кажется, работают очень хорошо.

person metalgreen    schedule 28.02.2012