【发布时间】:2015-12-01 21:48:49
【问题描述】:
我正在尝试使用 FPDF 创建我的一个数据库表的 pdf。基本上,我想单击print 按钮,然后将信息自动填充到 PDF 中。我自己尝试过的都失败了,我似乎无法解决这个问题。
How the printing label should look
Example of the table being used
<?php
require("fpdf/fpdf.php");
mysql_connect("localhost", "[username]","[password]") or die ("Could not connect to database");
mysql_select_db("[db_name]") or die ("Could not select database");
$query = "SELECT ID_Shipping, ID_Order, Shipping_Company FROM SeniorDB_Shipping ORDER BY `ID_Shipping` ";
$result = mysql_query($query) or die('Error, query failed');
$num_rows = mysql_num_rows($result);
class PDF extends FPDF
{
// Page header
function Header()
{
// Logo
$this->Image('minilogo.png',10,6,50);
// Arial bold 15
$this->SetFont('Arial','B',15);
// Move to the right
$this->Cell(80);
// Title
$this->Cell(55,10,'Shipping Information',1,0,'C');
// Line break
$this->Ln(20);
}
}
// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
//$pdf->Cell(40,10,'Hello World!');
while (TRUE) {
if ($row=$result[$i]) {
//positions set above
$LabelText = sprintf("%s\n%s %s\n%s, %s, %s",
$row['ID_Shipping'],
$row['ID_Order'],
$row['Shipping_Company']);
Avery5160($x,$y,&$pdf,$LabelText);
$y++; // next row
if ($y == 10 ) { // end of page wrap to next column
$x++;
$y = 0;
if ($x == 3 ) { // end of page
$x = 0;
$y = 0;
$pdf->AddPage();
}
}
$i++; //counter through result
} else {
// Error quit printing
break;
}
}
$pdf->Output();
?>
【问题讨论】:
-
究竟是什么问题?
-
PDF 总是显示为空白。我不确定这是我的语法还是什么,但只有我的徽标和标题出现
-
RTFM:php.net/mysql_query 函数返回语句 HANDLE。您正试图将该句柄视为一组结果。您需要先从该句柄中获取行。
-
那么创建一个信息数组不是处理这个问题的正确方法吗?