<?php
$factuurnr = $_GET['factuurnr'];
require('fpdf/fpdf.php');
//Connect to your database
include("db_connect.php");
//Create new pdf file
$pdf=new FPDF();
//Open file
$pdf->Open();
//Disable automatic page break
$pdf->SetAutoPageBreak(false);
//Add first page
$pdf->AddPage();
//set initial y axis position per page
$y_axis_initial = 25;
//print column titles for the actual page
$pdf->SetFillColor(232, 232, 232);
$pdf->SetFont('Arial', 'B', 12);
$pdf->SetY($y_axis_initial);
$pdf->SetX(25);
$pdf->Cell(30, 6, 'klantnummer', 1, 0, 'L', 1);
$pdf->Cell(100, 6, 'factuurnummer', 1, 0, 'L', 1);
$pdf->Cell(30, 6, 'bedrag', 1, 0, 'R', 1);
$y_axis = $y_axis + $row_height;
//Select the Products you want to show in your PDF file
$query="SELECT * FROM facturen WHERE factuurnummer = '$factuurnr'";
$result=mysql_query($query);
//initialize counter
$i = 0;
//Set maximum rows per page
$max = 25;
//Set Row Height
$row_height = 6;
while($row = mysql_fetch_array($result))
{
//If the current row is the last one, create new page and print column title
if ($i == $max)
{
$pdf->AddPage();
//print column titles for the current page
$pdf->SetY($y_axis_initial);
$pdf->SetX(25);
$pdf->Cell(30, 6, 'klantnummer', 1, 0, 'L', 1);
$pdf->Cell(100, 6, 'factuurnummer', 1, 0, 'L', 1);
$pdf->Cell(30, 6, 'bedrag', 1, 0, 'R', 1);
//Go to next row
$y_axis = $y_axis + $row_height;
//Set $i variable to 0 (first row)
$i = 0;
}
$klantnummer = $row['klantnummer'];
$factuurnummer = $row['factuurnummer'];
$bedrag = $row['bedrag'];
$pdf->SetY($y_axis);
$pdf->SetX(25);
$pdf->Cell(30, 6, $klantnummer, 1, 0, 'L', 1);
$pdf->Cell(100, 6, $factuurnummer, 1, 0, 'L', 1);
$pdf->Cell(30, 6, $bedrag, 1, 0, 'R', 1);
//Go to next row
$y_axis = $y_axis + $row_height;
$i = $i + 1;
}
mysql_close;
//Create file
$pdf->Output();
?>
我正在尝试使用fpdf生成带有MySQL信息的pdf。说实话,它正在工作,但是渲染已经完成,而且我对fpdf来说太新了,无法解决这个问题。
来自MySQL的数据会在表头上方呈现,我不知道为什么。
答案 0 :(得分:1)
可能你的初始$ y_axis错误。 试试这个:
$y_axis = $y_axis_initial + $row_height;
我认为你应该替换3'$ y_axis = ...'行中的2行(最后一行是OK)。