2010-04-21 3 views
3

Est-il possible de transmettre une variable de php à un rapport dans JasperReports Server? Par exemple, dans mon application php, je garde le département stocké dans une variable de session. Je voudrais passer le département_id à mes rapports en cours d'exécution sur JasperReports Server et afficher les informations appropriées pour ce département. dans l'iReport j'ai une requête comme: SELECT * FROM employees WHERE department_id = $P{dept_id_from_php}, mais je dois construire une liste de sélection déroulante pour passer le paramètre dept_id.Variable PHP transmise à JasperReports Server pour les rapports

Le résultat final est que je voudrais que l'utilisateur connecté à mon application PHP pour afficher les informations de l'employé qui est liée au département auquel appartient l'utilisateur connecté. Je ne veux pas passer cela à l'aide de la chaîne de requête, car l'utilisateur peut simplement changer l'identifiant dans la chaîne de requête et avoir accès aux informations des autres services. Idéalement, je voudrais seulement passer ce paramètre une fois, puis le réutiliser dans tous les rapports, comme une variable globale.

Est-ce possible?

+0

Bonjour Ronedog, J'ai exactement le même problème que vous, avez-vous trouvé une solution pour cela? ou avez des indices ?, merci d'avance. –

+0

Je souhaite ... Essayer OpenReports maintenant pour voir ce qu'il peut faire pour m'aider – Ronedog

+0

Je me retrouve à chercher exactement la même fonctionnalité. Je suis curieux de savoir comment vous l'avez finalement résolu? – Lee

Répondre

2

Il existe une interface SOAP php formidable (petite) ici https://github.com/adlermedrado/PHP-JasperServer-Integration à cette fin. Cela devrait faire gagner du temps!

//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); 

Il convient de noter que je n'ai pas eu beaucoup de succès avec l'exportation XLS, mais d'autres formats semblent très bien fonctionner.

Questions connexes