I'm trying to generate a jasper report in my php application. I work on Symfony2. Actually I generate my report in my application but the problem is in Ireport, I didn't get the php variable I send from my php application. And my report is in Jasperserver when I'm done the report modification.
This is my action from my php application:
public function result_recherche_googleAction(){
$em = $this->getDoctrine()->getManager ();
$request = $this->getRequest();
$id_pef = $request->request->get('id_pef');
if ($request->isXmlHttpRequest()) {
$jasperclient=new JasperClient();
$lien=$jasperclient->getUrlManyParams($this->container,"RechercheGoogle",array("id_pef" => $id_pef));
return $this->get('templating')->renderResponse('gideBundle:Edition:res_edition_recherche_google.html.twig',array(
//'trans'=>$pefs,
'lien'=>$lien,
));
//}
}
else {
//return $this->feuillePEFAction();
return new Response(json_encode($id_pef));
}
}
This is the code from my report:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RechercheGoogle" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="7e1de1d9-a08e-47ec-8af2-e93dbec288e7">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="id_pef" class="java.lang.Integer"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="270" splitType="Stretch">
<staticText>
<reportElement x="82" y="34" width="100" height="20" uuid="8969389a-851b-44e5-a88c-14a4b217fc47"/>
<text><![CDATA[Coucou !!!]]></text>
</staticText>
<staticText>
<reportElement x="252" y="21" width="240" height="58" uuid="1bebe360-cabf-485f-a158-befade8ee7a9"/>
<textElement>
<font size="14"/>
</textElement>
<text><![CDATA[ID du PEF: $P{id_pef}]]></text>
</staticText>
<textField>
<reportElement x="322" y="125" width="100" height="20" uuid="eae36fce-573e-484c-8cca-e8b4007d5e2b"/>
<textFieldExpression><![CDATA[$P{id_pef}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="224" y="109" width="100" height="20" uuid="2e2db24f-899b-45d0-9434-62cdd0f35171"/>
<textFieldExpression><![CDATA[$P{id_pef}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch"/>
</columnHeader>
<detail>
<band height="125" splitType="Stretch"/>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch">
<textField>
<reportElement x="432" y="22" width="100" height="20" uuid="0d41b36b-f441-400c-af62-753fa3cb4b63"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
I hope I'm clear. I try everything and I search a lot but any information about my problem. I hope someone can help me because It's very important! If you want more information about my problem tell me.
EDIT:
This I put in symfony parameter.yml to make the link at jasperserver:
jasper:
hostname: localhost
tcpport: '8080'
parentfolder: reports/nightly
username: username
userpass: mdp
specialparams: '_flowId=viewReportFlow&standAlone=true&_datasource=nightlydatasource'
With a var_dump on my php variablre "*lien" i have this url:
string 'http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&standAlone=true&_datasource=nightlydatasource&ParentFolderUri=reports/nightly&j_username=username&j_password=mdp&reportUnit=%2freports/nightly%2fRechercheGoogle&id_pef=104039-01-01' (length=269)
And I call the report in my view. The report is call correctly but I didn't get my php variable in the report.
You require a PHP library(third party) that generates PDF reports from the given jrxml document. this library can be downloaded from the following Git Repository https://github.com/chathurangat/PhpJasperLibrary
Once all the design is done, the it is time to integrate with your PHP application. make sure to download and import the PhpJasperLibrary in your PHP script. (copy both .jasper and .jrxml files into a same directory and give the reference in the PHP script)
access the report_view.php file in your LAMP/WAMP server. yo will get the report in PDF format.
and if you want to get dynamic value then use sql function.
I generate my document well because in my application I call the Japer report and it appears correctly except on the parameter.
In Symfony I added in parameter.yml what allows me to connect to jasper like this:
Tien I have the url that you asked me. I got it by doing a var_dump of my link variable from the action of my controller like this:
Here is the url:
I think this is execute on the jasper server. Because the application is used just under wamp server after the management of the reports it is the jasperserver that takes care of it And I forgot here is the view where I post the report:
As you could see I'm making an ajax call that sends what I typed into my input in my action (code given on my 1st message) and this call will incorporate this into a div (that's in j 'Really displays the jasper report):
Here I hope to have given the right information if not the self.