如何将数据记录从MYSQL表转换为PDF

时间:2016-06-17 10:56:22

标签: php mysql

我有这个PHP脚本,它应该以pdf的形式打印数据库的内容。我收到错误“解析错误:语法错误,意外'$ y_axis'(T_VARIABLE)in ..”这一行
       我怎么解决这个,任何一个?        //转到下一行         $ y_axis = $ y_axis + $ row_height;

<?php
include('FPDF-master/font');
require('FPDF-master/fpdf.php');

 //Connect to your database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

  // Create con

 $conn = new mysqli($servername, $username, $password, $dbname);
 // Check connection
 if ($conn->connect_error) {
 die("Connection failed: " . $conn->connect_error);
 }


//Create new pdf file
$pdf=new FPDF();

  //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
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',12);
$pdf->SetY($y_axis_initial);
$pdf->SetX(25);

 $pdf->Cell(30,6,'name',1,0,'L',1);
 $pdf->Cell(100,6,'amount',1,0,'L',1);
 $pdf->Cell(30,6,'trans_id',1,0,'R',1);
 $pdf->Cell(30,6,'time_paid',1,0,'R',1);

  $y_axis = $y_axis + $row_height;

  //Select the Products you want to show in your PDF file
 $result=mysql_query('SELECT name, amount, trans_id, msisdn, time_paid FROM customer',$link);

 //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,'name',1,0,'L',1);
   $pdf->Cell(100,6,'amount',1,0,'L',1);
   $pdf->Cell(30,6,'trans_id',1,0,'R',1);
   $pdf->Cell(30,6,'time_paid',1,0,'R',1)

    //Go to next row
    $y_axis = $y_axis + $row_height;

    //Set $i variable to 0 (first row)
    $i = 0;
}

$name = $row['name'];
$amount = $row['amount'];
$trans_id = $row['trans_id'];
$time_paid = $row['time_paid'];

$pdf->SetY($y_axis);
$pdf->SetX(25);
$pdf->Cell(30,6,$name,1,0,'L',1);
$pdf->Cell(100,6,$amount,1,0,'L',1);
$pdf->Cell(30,6,$trans_id,1,0,'R',1);
$pdf->Cell(30,6,$time_paid,1,0,'R',1);

//Go to next row
$y_axis = $y_axis + $row_height;
$i = $i + 1;
}

mysql_close($link);

//Send file
$pdf->Output();
?>

1 个答案:

答案 0 :(得分:0)

当您错过上面一行中的分号; 时,通常会发生此错误。见下文:

&#xA;&#xA;

&#xA;&#xA;
  $ y_axis = $ y_axis + $ row_height;&# xA;  
&#xA;&#xA;

你有分号; 缺少

&#xA;&#xA;
  $ PDF-&GT;细胞(30,6, 'TRANS_ID',1,0, 'R',1);&#XA; $ PDF-&GT;细胞(30,6, 'time_paid',1,0, 'R',1)&lt;  - 缺失;这里&#xA;  
&#xA;&#xA;

应该是:

&#xA;&#xA;
  $ pdf-&gt; Cell (30,6, 'TRANS_ID',1,0, 'R',1);&#XA; $ PDF-&GT;细胞(30,6, 'time_paid',1,0, 'R',1); &#XA;  
&#XA;