无法将 MySQL 数据输出到 FPDF table
Unable to output MySQL data to FPDF table
我试过 fpdf 上的教程并搜索了所有有用的代码。我在 SO 上找到了我认为可以解决问题的方法。也就是说,按照示例 here 并没有产生好的结果。我绝对需要帮助。
这是我的代码:
<?php
require_once '../root_login.php';
require('fpdf.php');
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
//$this->Image('images/bg_all.jpg',10,6,30);
// Arial bold 15
$this->SetFont('Times','B',20);
// Move to the right
$this->Cell(80);
// Title
$this->Cell(40,10,'B A S E B A L L',0,0,'C');
// Line break
$this->Ln(6);
// Arial bold 15
$this->SetFont('Arial','B',9);
$this->Cell(200,10,'LITTLE LEAGUE ROSTERS',0,0,'C');
$this->Ln(20);
}
// Page footer
function Footer()
{
// Position at 1.5 cm from bottom
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Page number
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',8);
$stmt = $db->prepare('SELECT fname, lname
FROM rosters
ORDER BY lname');
$stmt->execute();
$result = $stmt->fetchALL(PDO::FETCH_ASSOC);
foreach($result as $row) {
$pdf->Cell(0,10,'F NAME:', $row['fname']);
$pdf->Ln();
$pdf->Cell(0,5,'L NAME:', $row['lname']);
$pdf->Ln();
}
$pdf->Output();
?>
您可以查看输出here
有人看到我做错了什么吗?为什么画这些线?谢谢。
连接字符串并使用更少的参数进行操作?
foreach($result as $row) {
$pdf->Cell(0,10,'F NAME: '.$row['fname']);
$pdf->Ln();
$pdf->Cell(0,5,'L NAME: '.$row['lname']);
$pdf->Ln();
}
在 FPDF 中,您应该完全定义所有单元格选项,并且单元格的文本应位于第三个位置:
$pdf->Cell(0,5,'L NAME:'. $row['lname'], 0, 0, 'L');
------------------------^
注意串联。然后跟进border(0代表没有border,应该是默认的),下一行定义(放1相当于放0然后调用Ln()
就在后面。默认值:0.)和对齐单元格中的文本。
我试过 fpdf 上的教程并搜索了所有有用的代码。我在 SO 上找到了我认为可以解决问题的方法。也就是说,按照示例 here 并没有产生好的结果。我绝对需要帮助。
这是我的代码:
<?php
require_once '../root_login.php';
require('fpdf.php');
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
//$this->Image('images/bg_all.jpg',10,6,30);
// Arial bold 15
$this->SetFont('Times','B',20);
// Move to the right
$this->Cell(80);
// Title
$this->Cell(40,10,'B A S E B A L L',0,0,'C');
// Line break
$this->Ln(6);
// Arial bold 15
$this->SetFont('Arial','B',9);
$this->Cell(200,10,'LITTLE LEAGUE ROSTERS',0,0,'C');
$this->Ln(20);
}
// Page footer
function Footer()
{
// Position at 1.5 cm from bottom
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Page number
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',8);
$stmt = $db->prepare('SELECT fname, lname
FROM rosters
ORDER BY lname');
$stmt->execute();
$result = $stmt->fetchALL(PDO::FETCH_ASSOC);
foreach($result as $row) {
$pdf->Cell(0,10,'F NAME:', $row['fname']);
$pdf->Ln();
$pdf->Cell(0,5,'L NAME:', $row['lname']);
$pdf->Ln();
}
$pdf->Output();
?>
您可以查看输出here
有人看到我做错了什么吗?为什么画这些线?谢谢。
连接字符串并使用更少的参数进行操作?
foreach($result as $row) {
$pdf->Cell(0,10,'F NAME: '.$row['fname']);
$pdf->Ln();
$pdf->Cell(0,5,'L NAME: '.$row['lname']);
$pdf->Ln();
}
在 FPDF 中,您应该完全定义所有单元格选项,并且单元格的文本应位于第三个位置:
$pdf->Cell(0,5,'L NAME:'. $row['lname'], 0, 0, 'L');
------------------------^
注意串联。然后跟进border(0代表没有border,应该是默认的),下一行定义(放1相当于放0然后调用Ln()
就在后面。默认值:0.)和对齐单元格中的文本。