Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Simply Create PDF with PHP mysql FPDF (2 steps)

Simply Create PDF with fpdf


Sometimes we need to generate pdf based on Mysql database so here is the example of How to create PDF with Php Mysql using FPDF in 2 Steps.

Step1
First Download fpdf from Here



Step 2

Create an index.php file and paste this code




require('webroot/fpdf/fpdf.php');

$aClassDb = new ClassDb();

class Getdata {
public function all($getPostdata) { $getData = "";
try {
$getApartment = $getPostdata['apartid'];
$getYear = $getPostdata['invoiceyear'];
$startdate = mktime(0,0,0,1,1, $getYear);
$enddate = mktime(0,0,0,12,31, $getYear);

$query = $aClassDb->getAllData("invoice", "AND appartment='$getApartment' AND date_invoice BETWEEN $startdate AND $enddate");
$getData = $query;
/* PDO
$db = new PDO('mysql:host=localhost;dbname=test;', 'root', '');
$query = $db->prepare("SELECT type_id, date_invoice, name, amount, paid FROM invoice WHERE appartment='$getApartment' AND date_invoice BETWEEN $startdate AND $enddate");

$query->execute();

$getData = $query->fetchAll(PDO::FETCH_ASSOC);
*/
} catch (PDOException $e) {
//echo "Exeption: " .$e->getMessage();
$result = false;
}
$query = null;
$db = null;
return $getData;
}
}

class PeoplePDF extends FPDF {
// Create basic table
public function CreateTable($header, $data, $getAppartment)
{
//PDF Header
$datetoday = date("F j, Y");
$this->SetFont('Arial','B',14);
$this->SetFillColor(255);
$this->SetTextColor(0);
$this->Cell(0,15,'Invoice',1,0,'C');
$this->Ln();

$this->SetFont('', 'B', 10);
$this->Cell(90, 12, "Name : ".$getAppartment, 1, 0, 'L', true);
$this->Cell(100, 12, "Date : ".$datetoday, 1, 0, 'L', true);
$this->Ln();

//PDF header
// Header

$this->SetFillColor(192,192,192);
$this->SetTextColor(0);
$this->SetFont('', 'B', 10);
//$this->SetFont('','B');
foreach ($header as $col) {
//Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
$this->Cell($col[1], 10, $col[0], 1, 0, 'L', true);
}
$this->Ln();
// Data
$this->SetFillColor(255);
$this->SetTextColor(0);
$this->SetFont('');
$j= 1;
foreach ($data as $row)
{
$i = 1;
if($i==1)
{
$this->Cell($header[0][1], 6, $j, 1, 0, 'L', true);
$j++;
}
foreach ($row as $key=> $field) {
$this->SetTextColor(0);
if($key=="paid")
{
if($field=="Paid")
{
$this->SetTextColor(0,128,0);
} else {

$this->SetTextColor(255,0,0);
}

}
$this->Cell($header[$i][1], 6, " ".$field, 1, 0, 'L', true);
$this->SetTextColor(0);
$i++;
}
$this->Ln();
}
}
}


if(isset($_POST['submitPrint']) && $_POST['apartid']!="" && $_POST['invoiceyear']!="")
{

// Column headings(We created table in pdf so these are the columns of PDF table and the next parameter is width of column)
$header = array(
array('S no.', 20),
array('Cost Type', 30),
array('Date Invoice', 40),
array('Name', 30),
array('Amount', 30),
array('Paid/Not Paid', 40)
);
// Get data
$getalldata = new Getdata();
$data = $getalldata->all($_POST); //this function will fetch all data from database
$getAppartment ="heading of PDF";
$pdf = new PeoplePDF();
$pdf->SetFont('Arial', '', 12); //set font size
$pdf->AddPage();
$pdf->CreateTable($header,$data, $getAppartment); here we call createTable function that will generate pdf

header('Content-type: test/pdf'); //this will open output in pdf format
$pdf->Output();

} else {

header("location:form.php");

}




In this example we had posted a form and according to user values we generate pdf . you can change values according to your requirements


This post first appeared on Thecoderain PHP,wordpress,cakephp,codeigniter,js, Jquery, Ajax Free Tutorials, please read the originial post: here

Share the post

Simply Create PDF with PHP mysql FPDF (2 steps)

×

Subscribe to Thecoderain Php,wordpress,cakephp,codeigniter,js, Jquery, Ajax Free Tutorials

Get updates delivered right to your inbox!

Thank you for your subscription

×