如何使用SQL查询获取内容生成PDF文件?

时间:2015-03-03 08:45:06

标签: php mysql

我正在使用dompdf库并生成PDF文件。在那个PDF中我必须将查询中的内容放在数据库中。

3 个答案:

答案 0 :(得分:0)

请尝试此脚本

<?php
  $mysqli = new mysqli("localhost", "root", "", "");
   if ($mysqli->connect_errno) {
      echo "Failed to Connect MySQL: (" . $mysqli-     >connect_errno . ") " . $mysqli->connect_error;
     }

    require_once 'dompdf-master/dompdf_config.inc.php';

  $result=$mysqli->query("SELECT * FROM tbl_name");


   while ($arr_result = $result->fetch_array())
     {
      $nombre=$arr_result["nombre"];



     $html.= "
        <table>
           <tr>
             <td> $nombre </td>
           </tr></table>
     ";
    $mipdf = new DOMPDF();

    $mipdf ->set_paper("A4", "portrait");
    $mipdf ->load_html(utf8_decode($html));
    $mipdf ->render();
    $mipdf ->stream('mipdf.pdf');
       }
    ?>

答案 1 :(得分:0)

您可以使用FPDF。 FPDF是一个PHP类,它允许使用纯PHP生成PDF文件,也​​就是说不使用PDFlib库。 FPDF中的F代表Free:您可以将它用于任何用途并根据您的需要进行修改。

<?php
require('fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

上面的代码将生成一个带有“Hello World!”的pdf。其中的文字,字体arial,大小16和粗体样式。 您可以输入您的SQL查询结果来代替Hello World。

有关FPDF的更多信息,请转到official site

答案 2 :(得分:0)

<强> FPDF

FPDF是一个PHP类,允许您基于PHP创建PDF文档。 可以使用include提供数据库连接。此外,列标题,pdf的方向可以使用FPDF Class的标准化函数给出。

<?php
define('FPDF_FONTPATH', 'font/');
require('fpdf.php');

//Connect to your database
include("conectmysql.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, 'CODE', 1, 0, 'L', 1);
$pdf->Cell(100, 6, 'NAME', 1, 0, 'L', 1);
$pdf->Cell(30, 6, 'PRICE', 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 Code, Name, Price from Products ORDER BY Code', $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, 'CODE', 1, 0, 'L', 1);
        $pdf->Cell(100, 6, 'NAME', 1, 0, 'L', 1);
        $pdf->Cell(30, 6, 'PRICE', 1, 0, 'R', 1);

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

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

    $code = $row['Code'];
    $price = $row['Price'];
    $name = $row['Code'];

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

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

mysql_close($link);

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