我已成功将我的应用与ireport 5.6.0连接。它确实生成了一个pdf文件。我现在唯一的问题是pdf文件只包含一行和空值。
虽然我已经测试了很多,但我甚至直接在报告中打印参数并显示它。我不知道该怎么办了。
当我尝试在iReport中查询时,它给我的价值就像在图像中一样
但是当我在我的代码中传输条件时,它只会给我一个带有null和一行的pdf文件。
$my_where = "where fempidno='0828' and year(fdate)='2017' and month(fdate)='08' limit 30";
$text = '"' . $my_where . '"';
$output = public_path() . '/reports/report1';
$jasper = new JasperPHP;
// Compile a JRXML to Jasper
$jasper->compile(public_path() . '/reports/report1.jrxml')->execute();
$jasper->process(
base_path('/public/reports/report1.jasper'),
false,
array('pdf'),
array('title' => $text)
)->execute();
我也在iReport中替换它以便
SELECT * FROM dtr $P!{title}
结果将仅为一行时仍为null。 : - (
答案 0 :(得分:1)
看起来你没有传递连接或使用了错误的连接字符串。
您可以像此样本一样传递连接:
JasperPHP::process(
base_path('/public/reports/report1.jasper'),
false,
array('pdf'),
array('title' => $text),
array(
'driver' => 'postgres',
'username' => 'username',
'host' => 'localhost',
'database' => 'mydb',
'port' => '5433',
)
)->execute();
或者像这样:
JasperPHP::process(
base_path('/public/reports/report1.jasper'),
false,
array('pdf'),
array('title' => $text),
\Config::get('database.connections.mysql')
)->execute();
有关使用 JasperPHP 的更多信息,请访问here