【问题标题】:FPDF Display Data From Database Outside The TableFPDF 显示表外数据库中的数据
【发布时间】:2019-03-25 05:10:57
【问题描述】:

我将重新发布我的question,以便获得更多观众。自从我上周发布以来,其他人似乎没有看到它。

我在表格内外显示数据。当我试图在表内调用数据时,它工作得很好,但每当我在外面调用它时,它突然不显示了。这部分就在这里...

$pdf->MultiCell(194,4,"STORM SURGE INFORMATION",0,'C', false);
$pdf->Cell(191,4,"STORM SURGE: WARNING # ",0,0,'C');
$pdf->Cell(-136,4,$fetch['warning'],0,1,'C');

$pdf->Cell(172,4,"FOR: TYPHOON ",0,0,'C');
$pdf->Cell(-119,4,$fetch['typhoon'],0,1,'C');

$pdf->Cell(175,4,"ISSUED AT ",0,0,'C');
$pdf->Cell(-135,4,$fetch['date'],0,1,'C');

我的 PDF 目前看起来像这样。

有人可以帮我找出我的代码有什么问题或缺失吗?

<?php

require("con.php");

$sql="SELECT * FROM table ORDER BY ssh REGEXP '^[^A-Za-z0-9]' ASC, ssh DESC";

$records=mysql_query($sql);
$fetch = $records[0];

require("library/fpdf.php");

class PDF extends FPDF{
  function Header(){
  }
  function Footer(){
  }
}

$pdf = new PDF('p', 'mm', 'Legal');
$title = 'Storm Surge Warning';
$pdf->SetTitle($title);
$pdf->AliasNbPages('{pages}');
$pdf->SetAutoPageBreak(true,40);

$pdf->AddPage();
$pdf->Ln();

$pdf->SetFont('Arial', 'B', 10);

$pdf->MultiCell(194,4,"STORM SURGE INFORMATION",0,'C', false);
$pdf->Cell(191,4,"STORM SURGE: WARNING # ",0,0,'C');
$pdf->Cell(-136,4,$fetch['warning'],0,1,'C');

$pdf->Cell(172,4,"FOR: TYPHOON ",0,0,'C');
$pdf->Cell(-119,4,$fetch['typhoon'],0,1,'C');

$pdf->Cell(175,4,"ISSUED AT ",0,0,'C');
$pdf->Cell(-135,4,$fetch['date'],0,1,'C');

$pdf->Ln(1);

$pdf->SetBorders(array('LT', 'LT', 'LT', 'LT', 'TLR'));
$pdf->SetWidths(array(25, 27, 35, 54, 53));
$pdf->SetAligns(array('C', 'C', 'C', 'L', 'L'));

$pdf->SetFont('Arial', 'B', 10);

$pdf->Row(array("SS Height",
            "Provinces",
            "Low Lying Coastal Areas in the Municipalities of:",
            "IMPACTS",
            "ADVICE/Actions to Take"), 1);

$pdf->SetFont('Arial', '', 11);


while($row = mysql_fetch_array($records)){
  $pdf->Row(array($row['ssh'],
  $row['provi'],
  $row['muni'],
  $row['impact'],
  $row['advice']), 1);
  }

$pdf->SetBorders(array('T', 'T', 'T', 'T', 'T'));
$pdf->Row(array('','','','',''), 1, false, 1);

$pdf->OutPut();
?>

【问题讨论】:

  • 您需要解决从数据库中检索值的基本问题(在这种情况下为$fetch 变量)。正如您在上一个问题中所讨论的,如果您在查询后立即print_r($records);,它会显示什么?如果您在 PHPmyAdmin 或类似工具中运行该查询,结果是什么?
  • @Dave 它显示我正在调用的数据。

标签: php mysql fpdf


【解决方案1】:

您正在尝试使用负 X-Position 值。我希望,这就是它不起作用的原因。

你想要下面的东西吗:

示例

使用 Limit 获取最新记录

$sql="SELECT * FROM twothree ORDER BY ssh REGEXP '^[^A-Za-z0-9]' ASC, ssh DESC LIMIT 1";
//echo $sql;
$records=mysql_query($sql);
if (mysql_num_rows($records)) {
 $fetch = mysql_fetch_assoc($records);
}

$pdf->Ln(10);
$pdf->Cell(194, 4,"STORM SURGE: WARNING # " . $fetch['warning'], 0,0,'C');
$pdf->Ln();
$pdf->Cell(194, 4,"FOR: TYPHOON " . $fetch['typhoon'],0,0,'C');
$pdf->Ln();
$pdf->Cell(194,4,"ISSUED AT " . $fetch['date'],0,0,'C');
$pdf->Ln();

$pdf->Ln(20);

示例

$pdf->Cell(60, 4,"", 0,0,'C');
$pdf->Cell(60, 4,"STORM SURGE: WARNING # :", 0,0,'L');
$pdf->setX(125);    
$pdf->Cell(60, 4,$fetch['warning'], 0,0,'L');
$pdf->Ln();
$pdf->Cell(60, 4,"", 0,0,'C');
$pdf->Cell(60, 4,"FOR: TYPHOON :", 0,0,'L');
$pdf->setX(100);    
$pdf->Cell(60, 4,$fetch['typhoon'], 0,0,'L');
$pdf->Ln();
$pdf->Cell(60, 4,"", 0,0,'C');
$pdf->Cell(60, 4,"ISSUED AT : ", 0,0,'L');
$pdf->setX(100);    
$pdf->Cell(60, 4,$fetch['date'], 0,0,'L');
$pdf->Ln();

主查询

$sql="SELECT * FROM twothree ORDER BY ssh REGEXP '^[^A-Za-z0-9]' ASC, ssh DESC";
//echo $sql;
$records=mysql_query($sql);

【讨论】:

  • 好像我的$fetch['warning'] $fetch['typhoon'] $fetch['date'] 有问题。它仍然不显示。 @rsm
  • @desteen,你在 $fetch 数组中获取数据吗?
  • 很抱歉,您误会了。我的意思是,它正在处理while($row = mysql_fetch_array($records)) 部分,而不是$fetch['warning'] $fetch['typhoon'] $fetch['date']。它仍然不显示。 @rsm
  • @desteen,能否提供示例输出 $fetch = $records[0]
  • 我检查了你的代码。它对我来说很好。请看看这段代码pastebin.com/UyDCAtR0
猜你喜欢
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-08
  • 2016-09-13
  • 1970-01-01
相关资源
最近更新 更多