عضویت در سایت

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1171 آموزش و 2026 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

مشاوره حرفه ای دریافت کن
بلاگ
مقالات آموزشی

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

خروجی PDF از دیتابیس در PHP

سلام

با یک آموزش دیگه از سری آموزش های PHP در خدمتتون هستیم؛ حتما در برخی از وب سایت ها دیدید که  انتهای هر مقاله کاربر فایل pdf همون مقاله وجود دارد و کاربر میتواند فایل PDF همان مقاله را دانلود کند. در این مقاله ی آموزشی می خواهیم تا با انجام چند مرحله ی خیلی ساده از جدوال مورد نیاز در دیتابیس توسط PHP خروجی PDF بگیریم، در ادامه همراه بپرسم باشید.

خروجی pdf در php

خروجی pdf در php

برای اینکه بتونیم خروجی PDF داشته باشیم از کتابخانه FPDF استفاده میکنیم. که یک کتابخانه محبوب و رایگان است، در ادامه میریم تا کار با این کتابخانه را یاد بگیریم.

شروع آموزش:

  • ابتدا کتابخانه FDPF را از سایت fpdf.org دانلود کنید.
  • جدولی به نام tbl_users با سطرها و ستون های زیر داریم:
جدول tbl_usres

جدول tbl_usres

  • سپس به دیتابیس متصل میشویم، میتوانیم کدهای زیر را در فایلی به نام connection.php ذخیره کنیم و در صفحات خود این فایل را صدا بزنیم.
Class dbObj{
/* Database connection start */
var $dbhost = "localhost";
var $username = "root";
var $password = "";
var $dbname = "beporsam";
var $conn;
function getConnstring() {
$con = mysqli_connect($this->dbhost, $this->username, $this->password, $this->dbname) or die("Connection failed: " . mysqli_connect_error());

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
} else {
$this->conn = $con;
}
return $this->conn;
}
}
  • سپس میخوایم یک کلاس بسازیم تا هر وقت این کلاس را صدا زدیم، بتوانیم با کمک آن فایل PDF را بسازیم؛ برای اینکار از کدهای زیر استفاده میکنیم و کدها را در فایلی به نام generate_pdf.php ذخیره میکنیم.
<?php
//include connection file 
include_once("connection.php");
include_once("fpdf.php");

class PDF extends FPDF
{
// Page header
function Header()
{
    // Logo
    $this->Image('logo.png',10,-1,70);
    $this->SetFont('Arial','B',13);
    // Move to the right
    $this->Cell(80);
    // Title
    $this->Cell(80,10,'users List',1,0,'C');
    // Line break
    $this->Ln(20);
}

// Page footer
function Footer()
{
    // Position at 1.5 cm from bottom
    $this->SetY(-15);
    // Arial italic 8
    $this->SetFont('Arial','I',8);
    // Page number
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

$db = new dbObj();
$connString =  $db->getConnstring();
$display_heading = array('id'=>'ID', 'users_name'=> 'Name', 'users_age'=> 'Age','users_salary'=> 'Salary',);

$result = mysqli_query($connString, "SELECT id, users_name, users_age, users_salary FROM users") or die("database error:". mysqli_error($connString));
$header = mysqli_query($connString, "SHOW columns FROM users");

$pdf = new PDF();
//header
$pdf->AddPage();
//foter page
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
foreach($header as $heading) {
$pdf->Cell(40,12,$display_heading[$heading['Field']],1);
}
foreach($result as $row) {
$pdf->Ln();
foreach($row as $column)
$pdf->Cell(40,12,$column,1);
}
$pdf->Output();
?>

در خط 2 اومدیم و فایل connection.php را که کدهای اتصال به دیتابیس را داخلش نوشتیم import کردیم.

مطلب پیشنهادی:  هر آنچه که باید در رابطه با نسخه های مختلف اندروید بدانید

در خط 3 فایل کتابخانه fpdf را ایمپورت کردیم(وقتی از سایت fpdf کتابخانه را دانلود کنید فایلی به نام fpdf.php را مشاهده میکنید که کتابخانه ما همین فایل هست).

در خط 12 هم باید لوگوی خود را قرار دهید، لوگو در فایل PDF نمایش داده میشود.

مابقی کدها هم مربوط به کتابخانه هست که فایل PDF که میسازیم یک هدر، بدنه و فوتر دارد.

  • در آخرین مرحله در فایل index.php میایم و یک form با دکمه قرار میدیم که action این فرم به فایل generate_pdf.php است که با زدن دکمه یک فایل PDF از محتویات دیتابیس ما ساخته میشود.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Simple Example of PDF file using PHP and MySQL</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/>
</head>
<body>
<div class="container" style="padding-top:50px">
<h2>Generate PDF file from MySQL Using PHP</h2>
<form class="form-inline" method="post" action="generate_pdf.php">
<button type="submit" id="pdf" name="generate_pdf" class="btn btn-primary"><i class="fa fa-pdf"" aria-hidden="true"></i>
Generate PDF</button>
</form>
</fieldset>
</div>
</body>
</html>

کار به اتمام رسید، به همین سادگی توانستیم تا خروجی PDF از دیتابیس تهیه کنیم، که میتوانید با توجه به سایت و اسکریپت خود آن را شخصی سازی کنید.

موفق باشید.

 

درباره احمد آخوندیمدیر سایت

همیشه در تلاش برای یادگیری :) ارتباط با من: 09159352892

دنبال کردن

ارسال نظر

رفتن به بالا

سامانه آموزشی و خدماتی بپرسم

اولین وب سایت آموزشی و پرسش و پاسخ در ایران

بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.