【发布时间】:2023-10-16 08:53:01
【问题描述】:
我正在尝试使用以下代码生成 PDF 它生成 PDF 但不显示任何内容。完整的文档是空白的。我的查询是正确的我已经通过运行检查它并且它给了我正确的数据。任何帮助是高度赞赏。
<?php
require_once("includes/config.php");
//
require('C:\xampp\htdocs\geochronology\vendor\setasign\fpdf\fpdf.php');
require('C:\xampp\htdocs\geochronology\vendor\setasign\fpdi\src\autoload.php');
require('C:\xampp\htdocs\geochronology\vendor\setasign\fpdi\src\fpdi.php');
class mypdf extends FPDF{
function viewTable(){
$this->setfont('Arial','B',12);
$search=$_POST['search1'];
$option=$_POST['option1'];
$period=$_POST['period1'];
$datefrom=$_POST['datefrom1'];
$dateto=$_POST['dateto1'];
$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER, DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
if($period ==null){
$sql = "SELECT tbluser.user,tbluser.affiliation,tblfacility.type,tblfacility.sampleid,tblfacility.time,DATE_FORMAT(tblfacility.time, '%d-%m-%y') AS formatted_date
FROM tblfacility
JOIN tbluser on tbluser.id=tblfacility.user
where ".$search." ='".$option."' ";}
else{
$sql="SELECT * FROM tblfacility JOIN tbluser on tbluser.id=tblfacility.user where ".$search." ='".$option."' AND time between '".$datefrom."' and '".$dateto."' ";
}
$query = $dbh->prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
//echo "<prep>";
//print_r($sql);
while($results=$query->fetchAll(PDO::FETCH_OBJ)){
$this->cell(50,10,$results->user ,1,0,'L');
$this->cell(50,10,$results->affiliation,1,0,'L');
$this->cell(40,10,$results->type,1,0,'L');
$this->cell(30,10,$results->sampleid,1,0,'L');
$this->cell(40,10,$results->time,1,0,'L');
$this->Ln();
}
}
}
$pdf = new mypdf();
$pdf->AliasNbPages();
$pdf->AddPage('L','A4',0);
$pdf->viewTable();
$pdf->output();
?>
【问题讨论】: