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
<?php include('../config.php'); 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
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging
ReplyDeleteDot Net Coaching Centers in Chennai | Dot Net Training in Chennai
Testing Courses in Chennai | Best Software Testing Training Institute in Chennai With Placement
Java Training in Chennai | Core Java Training in Chennai | java course and certification
PHP Course in chennaia | PHP Certification