動作するphpとireportを使用してレポートを生成していますが、送信できるパラメーターは1つだけです。MySQLでより良いクエリを作成するために、複数のパラメータを送信したいと思います。
これは、phpを使用してireportにパラメーターを1つだけ送信するための私のコードです。
私のJavaScript関数
window.open("../Report1.php?Folio=" + folio);
<?php
$Folio=$_GET["Folio"];
function DescargarArchivo($fichero)
{
$basefichero = basename($fichero);
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($fichero));
header( "Content-Disposition:attachment;filename=" .$basefichero."");
readfile($fichero);
}
$fecha = time ();
$fecha_partir1=date ( "h" , $fecha ) ;
$fecha_partir2=date ( "i" , $fecha ) ;
$fecha_partir4=date ( "s" , $fecha ) ;
$fecha_partir3=$fecha_partir1-1;
$reporte="CC_";
$filename = $reporte.''. $Folio.'.pdf';
require_once('http://localhost:9977/JavaBridge/java/Java.inc');
require('php-jru/php-jru.php');
$jru=new PJRU();
$Reporte='/var/www/html/ireportFile.jasper';
//save file
$SalidaReporte='/var/www/html/'.$filename;
//here I declare paramenres
$Parametro=new java('java.util.HashMap');
$Parametro->put("Folio", $Folio);
//mysql
$Conexion= new JdbcConnection("com.mysql.jdbc.Driver","jdbc:mysql://localhost/Ignisterra?zeroDateTimeBehavior=convertToNull","local","local");
$jru->runReportToPdfFile($Reporte,$SalidaReporte,$Parametro,$Conexion->getConnection());
if(file_exists($SalidaReporte))
{
DescargarArchivo($filename);
if(file_exists($SalidaReporte))
{
if(unlink($filename))
{
}
}
}
?>
$P{Folio}
送信したパラメーターを使用したireportのクエリは次のとおりです。
SELECT * FROM TBL_1 WHERE ID = $P{Folio};
このコードでは、1つのパラメーターしか送信できません。これを変更して、複数のパラメーターをireportに送信する方法がわかりません。
この説明が十分に明確であることを願っています。よろしく
あなたは&
このようなことをするために使うことができます...
window.open("../Report1.php?Folio=" + folio + "&OtherVariable=" + otherVariable);
次に、PHPファイルで次のように言います...
$otherVar = $_GET["OtherVariable"]
また、postを使用するとより安全になり、リクエストURLに安全に表示されないようにすることなく、post呼び出しに複数のパラメーター(追加の変数)を追加できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加