Download fpdf with a given name? - php

I am trying to download a pdf file. I can download it but I want the name of the file to be specific to a MySQL data. That is, in the code below. I want the name of the file to be the data inside $id. How to achieve this?
<?php
//include connection file
ob_start();
include_once('fpdf/fpdf.php');
include_once('connection.php');
class PDF extends FPDF
{
// Page header
function Header()
{
$this->SetFont('Arial','B',14);
$this->Cell(276, 5, 'Details', 0, 0, 'C');
$this->Ln();
$this->SetFont('Times', '', 12);
$this->Cell(276, 10, 'Details of students', 0, 0, 'C');
$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');
}
function headerTable()
{
$this->SetFont('Times', 'B', 12);
$this->Cell(40, 10, 'ID', 1, 0, 'C');
$this->Cell(20, 10, 'Name', 1, 0, 'C');
$this->Cell(90, 5, 'Score', 1, 0, 'C');
$this->Cell(30, 10, 'Percentage', 1, 0, 'C');
$this->Cell(20, 10, 'Age', 1, 0, 'C');
$this->Cell(0, 5, '', 0, 1, 'C');
//mini cell open
$this->Cell(60, 5, '', 0, 0, 'C');
$this->Cell(45, 5, 'Wrongs', 1, 0, 'C');
$this->Cell(45, 5, 'Rights', 1, 0, 'C');
//mini cell close
//$this->Cell(20, 10, 'Wrongs', 1, 0, 'C');
//$this->Cell(20, 10, 'Rights', 1, 0, 'C');
$this->Ln();
}
function viewTable($db)
{
$this->SetFont('Times', '', 12);
$id=$_GET['id'];
$sql = "SELECT * FROM Datas WHERE ID = '$id'";
$stmt = $db->query($sql);
//$stmt->bindParam('s',$id);
//$stmt->query();
//$result=$stmt->get_result();
//$stmt->get_result();
while($data = $stmt->fetch(PDO::FETCH_OBJ)){
$this->Cell(40, 10, $data->ID, 1, 0, 'C');
$this->Cell(20, 10, $data->Name, 1, 0, 'L');
$this->Cell(45, 10, $data->Wrongs, 1, 0, 'L');
$this->Cell(45, 10, $data->Rights, 1, 0, 'L');
$this->Cell(30, 10, $data->Percentage, 1, 0, 'L');
$this->Cell(20, 10, $data->Age, 1, 0, 'L');
$this->Ln();
}
}
}
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('L','A4',0);
$pdf->headerTable();
$pdf->viewTable($db);
$pdf->Output("D", "test.pdf"); //How to change test.pdf to $id.pdf? $id value obtained from viewTable()
ob_end_flush();
?>

Nevermind, got it. It was simple by adding $id to the name. The complete script:
<?php
//include connection file
ob_start();
include_once('fpdf/fpdf.php');
include_once('connection.php');
class PDF extends FPDF
{
// Page header
function Header()
{
$this->SetFont('Arial','B',14);
$this->Cell(276, 5, 'Details', 0, 0, 'C');
$this->Ln();
$this->SetFont('Times', '', 12);
$this->Cell(276, 10, 'Details of students', 0, 0, 'C');
$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');
}
function headerTable()
{
$this->SetFont('Times', 'B', 12);
$this->Cell(40, 10, 'ID', 1, 0, 'C');
$this->Cell(20, 10, 'Name', 1, 0, 'C');
$this->Cell(90, 5, 'Score', 1, 0, 'C');
$this->Cell(30, 10, 'Percentage', 1, 0, 'C');
$this->Cell(20, 10, 'Age', 1, 0, 'C');
$this->Cell(0, 5, '', 0, 1, 'C');
//mini cell open
$this->Cell(60, 5, '', 0, 0, 'C');
$this->Cell(45, 5, 'Wrongs', 1, 0, 'C');
$this->Cell(45, 5, 'Rights', 1, 0, 'C');
//mini cell close
//$this->Cell(20, 10, 'Wrongs', 1, 0, 'C');
//$this->Cell(20, 10, 'Rights', 1, 0, 'C');
$this->Ln();
}
function viewTable($db)
{
$this->SetFont('Times', '', 12);
$id=$_GET['id'];
$sql = "SELECT * FROM Datas WHERE ID = '$id'";
$stmt = $db->query($sql);
//$stmt->bindParam('s',$id);
//$stmt->query();
//$result=$stmt->get_result();
//$stmt->get_result();
while($data = $stmt->fetch(PDO::FETCH_OBJ)){
$this->Cell(40, 10, $data->ID, 1, 0, 'C');
$this->Cell(20, 10, $data->Name, 1, 0, 'L');
$this->Cell(45, 10, $data->Wrongs, 1, 0, 'L');
$this->Cell(45, 10, $data->Rights, 1, 0, 'L');
$this->Cell(30, 10, $data->Percentage, 1, 0, 'L');
$this->Cell(20, 10, $data->Age, 1, 0, 'L');
$this->Ln();
}
}
}
$id=$_GET['id'];
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('L','A4',0);
$pdf->headerTable();
$pdf->viewTable($db);
$pdf->Output("D", "$id.pdf");
ob_end_flush();
?>

Related

TCPDF is not working on an online server after hosting while was working on localhost, how solve this error? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 days ago.
Improve this question
I created a PHP Web App on localhost. With the app I was able to download PDFs while it was still on localhost. I then uploaded the app, meaning hosted it. I am able to login and navigate through the app, but I am unable to download the PDFs now. I am using TCPDF.
Please kindly help me resolve this issue.
Below is the code where I am creating the PDF file with the data from the Database.
<?php include('includes/header.php'); ?>
<?php include('https://www.gigabittech.com/includes/session.php'); ?>
<?php include('https://www.gigabittech.com/includes/config.php'); ?>
<?php
/* require 'config.php'; */
require('https://www.gigabittech.com/info_file/tcpdf.php');
if (isset($_GET['pdf_report_generate'])){
$empID = $_GET['empID'];
$select = "SELECT * FROM tblemployees WHERE emp_id='$empID'";
$query = mysqli_query($conn, $select);
while ($row = mysqli_fetch_array($query)){
$bs_num=$row['BS_Number'];
$title=$row['Title'];
$lname = $row['LastName'];
$fname = $row['FirstName'];
$nname = $row['Nickname'];
$startDate=$row['Start_Date'];
$dob=$row['Dob'];
$pid=$row['PIN'];
$passport_number=$row['Passport_Number'];
$passport_country_code=$row['Passport_Country_Code'];
$gender=$row['Gender'];
$marital_status=$row['Marital_Status'];
$dependents=$row['Dependants'];
$residential_address_unit_number=$row['Residential_Address_Unit_Number'];
$residential_address_complex=$row['Residential_Address_Complex'];
$residential_address_street_number=$row['Residential_Address_Street_Number'];
$residential_address_street_name_farm=$row['Residential_Address_Street_Name_Farm'];
$residential_address_suburb_district=$row['Residential_Address_Suburb_District'];
$residential_address_city_town=$row['Residential_Address_City_Town'];
$residential_address_post_code=$row['Residential_Address_Post_Code'];
$postal_address=$row['Postal_Address'];
$postal_address_2=$row['Postal_Address_2'];
$postal_address_3=$row['Postal_Address_3'];
$postal_address_4=$row['Postal_Address_4'];
$postal_address_5=$row['Postal_Address_5'];
$business_address_code=$row['Business_Address_Code'];
$work_phone_number=$row['Work_Phone_Number'];
$home_tel_num=$row['Home_Tel_Num'];
$phonenumber=$row['Phonenumber'];
$fax_number=$row['Fax_Number'];
$next_of_kin_name=$row['Next_Of_Kin_Name'];
$next_of_kin_number=$row['Next_Of_Kin_Number'];
$email = $row['EmailId'];
$costcentre=$row['Cost_Centre'];
$jobdescription=$row['Job_Description'];
$branch_code=$row['Branch_Code'];
$account_number=$row['Account_Number'];
$account_holders_name=$row['Account_Holders_Name'];
$graded_tax=$row['Graded_Tax'];
$name_head_parental_home=$row['Name_Head_Parental_Home'];
$address=$row['Address'];
$parental_home_address_line_2=$row['Parental_Home_Address_Line_2'];
$parental_home_address_line_3=$row['Parental_Home_Address_Line_3'];
$parental_home_address_line_4=$row['Parental_Home_Address_Line_4'];
$parental_home_tel_num=$row['Parental_Home_Tel_Num'];
$chief=$row['Chief'];
$user_role=$row['role'];
$department=$row['Department'];
}
}
class PDF extends TCPDF{
public function Header(){
$imageFile = K_PATH_IMAGES.'bns-spar-logo.png';
$this->Image($imageFile, 15, 2, 100, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
$this->Ln(5);
}
public function Footer(){
$this->setY(-30); // POSITION AT 15mm FROM THE BOTTOM OF THE PAGE
$this->Ln(5);
$this->setFont('helvetica','B',12);
$this->Cell(189, 5,'GIGABIT TECHNOLOGIES (PTY) LTD.' ,0,1,'C');
$this->setFont('helvetica','',8);
$this->Cell(189, 4,'P.O. Box 1844 Manzini' ,0,1,'C');
$this->Cell(189, 4,'Email: sales#gigabittech.com | Tel: +268 7672 4277' ,0,1,'C');
$this->Cell(189, 4,'Office 786, Manzini Lifestyle Centre, Plot 2871, Ngwane Street, Manzini' ,0,1,'C');
$this->setFont('helvetica','',8);
date_default_timezone_set("Asia/Dhaka");
$today = date("F j, Y");
$this->Cell(25, 10, 'Printed On: '.$today,0,0,'L');
$this->Cell(164, 10, 'Page '.$this->getAliasNumPage().' of '.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');
}
}
// create new PDF document
$pdf = new PDF('P', 'mm', 'A4', true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nkambule Bonginkosi');
$pdf->SetTitle('BNS Employee Contract');
$pdf->SetSubject('BNS Employee Contract');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (#file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// set default font subsetting mode
$pdf->setFontSubsetting(true);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('helvetica', '', 14, '', true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();
$pdf->Ln(1);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'EMPLOYEE INFORMATION', 0, 1, 'C');
$pdf->Ln(5);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'SURNAME', 1, 0,'',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $lname, 1, 1);
$pdf->Ln(0);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'NAMES', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $fname, 1, 1);
$pdf->Ln(0);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS', 1, 0, '',1);
$pdf->Cell(70, 1, 'POSTAL', 1, 0, '', 1);
$pdf->Cell(69, 1, 'PHYSICAL', 1, 0, '',1);
$pdf->Ln(4.5);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(10, 15, '', 0, 'L', 0, 0, '', '', true);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(70, 15, '', 0, 'L', 0, 0, 25, '', true);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(70, 15, 'P.O. '.$postal_address, 1, 'L', 0, 0, 65, '', true);
$pdf->Ln(4.5);
$pdf->MultiCell(70, 15, $postal_address_3, 1, 'L', 0, 0, 65, '', true);
$pdf->Ln(5.2);
$pdf->MultiCell(70, 15, $postal_address_5, 1, 'L', 0, 1, 65, '', true);
$pdf->Ln(-25);
$pdf->MultiCell(69, 15, $address, 1, 'L', 0, 0, 135, '', true);
$pdf->Ln(10);
$pdf->MultiCell(69, 15, $residential_address_unit_number, 1, 'L', 0, 0, 135, '', true);
$pdf->Ln(6);
$pdf->MultiCell(70, 15, $residential_address_city_town, 0, 'L', 0, 0, 135, '', true);
$pdf->Ln(13);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'CELL NUM.', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $phonenumber, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ID NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $pid, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'TAX NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $graded_tax, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'D.O.B', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $dob, 1, 1, '',0);
/* $pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, 'NATIONALITY', 0, 0);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(129, 1, $nationality, 0, 1); */
if ($gender == 1){
$real_gender = "Female";
} else {
$real_gender = "Male";
}
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'GENDER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $real_gender, 1, 1, '',0);
if ($marital_status == 1){
$real_marital_status = "Married";
} else {
$real_marital_status = "Single";
}
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'MARITAL STATUS', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $real_marital_status, 1, 1, '',0);
// SPOUSE START
/* $pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, 'SPOUSE', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'NAME', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, 'CONTACT NUMBER', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(20, 1, ' ', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, $spouse_name, 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, $spouse_number, 0, 1);
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, '', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'ID NUMBER', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(20, 1, ' ', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, $spouse_id_number, 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 1); */
// SPOUSE END
// NEXT OF KIN START
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'NEXT OF KIN', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(70, 1, 'NAME', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, 'CONTACT NUMBER', 1, 1, '',1);
$pdf->Ln(0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(50, 1, ' ', 0, 0);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(70, 1, $next_of_kin_name, 1, 0, '',0);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, $next_of_kin_number, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'PARENTAL HOME DETAILS', 0, 1, 'C');
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'PARENTAL HOME HEAD', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $name_head_parental_home, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 1', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_2, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 2', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_3, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 3', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_4, 1, 1, '',0);
/* $pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, '', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'RELATIONSHIP', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 0);
$pdf->Ln(5);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(20, 1, ' ', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, $next_of_kin_realtionship, 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 1); */
// NEXT OF KIN END
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'BANKING DETAILS', 0, 1, 'C');
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ACCOUNT HOLDER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $lname.' '.$fname, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ACCOUNT NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $account_number, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'BRANCH CODE', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $branch_code, 1, 1, '',0);
/* $pdf->Ln(26);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'BANK DETAILS', 1, 0, '',1);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'BANK NAME', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(69, 1, $bank_name, 0, 0); */
/* $pdf->Ln(0);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'ACC. HOLDER', 1, 0, '',1);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $lname.' '.$fname, 1, 0, '',0);
$pdf->Ln(4.6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'ACC. NUMBER', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $account_number, 1, 0, '',0);
$pdf->Ln(4.6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'BRANCH CODE', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $branch_code, 1, 0, '',0); */
/* $pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, '', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'ACC. TYPE', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(69, 1, $account_type, 0, 0); */
$pdf->Ln(32);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(10, 1, '___________________________________', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(100, 15, 'Signature: '.$title.' '.$lname.' '.$fname, 0, 'L', 0, 0, 15, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(-6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->MultiCell(100, 15, '___________________________________', 0, 'L', 0, 0, 120, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(100, 15, 'Date', 0, 'L', 0, 0, 120, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
ob_end_clean();
$pdf->Output($fname." Info.pdf", 'I');
?>
Below is the code that I was using while on localhost and it still the one on the online server.
<?php include('includes/header.php'); ?>
<?php include('https://www.gigabittech.com/includes/session.php'); ?>
<?php include('https://www.gigabittech.com/includes/config.php'); ?>
<?php
/* require 'config.php'; */
require('https://www.gigabittech.com/info_file/tcpdf.php');
if (isset($_GET['pdf_report_generate'])){
$empID = $_GET['empID'];
$select = "SELECT * FROM tblemployees WHERE emp_id='$empID'";
$query = mysqli_query($conn, $select);
while ($row = mysqli_fetch_array($query)){
$bs_num=$row['BS_Number'];
$title=$row['Title'];
$lname = $row['LastName'];
$fname = $row['FirstName'];
$nname = $row['Nickname'];
$startDate=$row['Start_Date'];
$dob=$row['Dob'];
$pid=$row['PIN'];
$passport_number=$row['Passport_Number'];
$passport_country_code=$row['Passport_Country_Code'];
$gender=$row['Gender'];
$marital_status=$row['Marital_Status'];
$dependents=$row['Dependants'];
$residential_address_unit_number=$row['Residential_Address_Unit_Number'];
$residential_address_complex=$row['Residential_Address_Complex'];
$residential_address_street_number=$row['Residential_Address_Street_Number'];
$residential_address_street_name_farm=$row['Residential_Address_Street_Name_Farm'];
$residential_address_suburb_district=$row['Residential_Address_Suburb_District'];
$residential_address_city_town=$row['Residential_Address_City_Town'];
$residential_address_post_code=$row['Residential_Address_Post_Code'];
$postal_address=$row['Postal_Address'];
$postal_address_2=$row['Postal_Address_2'];
$postal_address_3=$row['Postal_Address_3'];
$postal_address_4=$row['Postal_Address_4'];
$postal_address_5=$row['Postal_Address_5'];
$business_address_code=$row['Business_Address_Code'];
$work_phone_number=$row['Work_Phone_Number'];
$home_tel_num=$row['Home_Tel_Num'];
$phonenumber=$row['Phonenumber'];
$fax_number=$row['Fax_Number'];
$next_of_kin_name=$row['Next_Of_Kin_Name'];
$next_of_kin_number=$row['Next_Of_Kin_Number'];
$email = $row['EmailId'];
$costcentre=$row['Cost_Centre'];
$jobdescription=$row['Job_Description'];
$branch_code=$row['Branch_Code'];
$account_number=$row['Account_Number'];
$account_holders_name=$row['Account_Holders_Name'];
$graded_tax=$row['Graded_Tax'];
$name_head_parental_home=$row['Name_Head_Parental_Home'];
$address=$row['Address'];
$parental_home_address_line_2=$row['Parental_Home_Address_Line_2'];
$parental_home_address_line_3=$row['Parental_Home_Address_Line_3'];
$parental_home_address_line_4=$row['Parental_Home_Address_Line_4'];
$parental_home_tel_num=$row['Parental_Home_Tel_Num'];
$chief=$row['Chief'];
$user_role=$row['role'];
$department=$row['Department'];
}
}
class PDF extends TCPDF{
public function Header(){
$imageFile = K_PATH_IMAGES.'bns-spar-logo.png';
$this->Image($imageFile, 15, 2, 100, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
$this->Ln(5);
}
public function Footer(){
$this->setY(-30); // POSITION AT 15mm FROM THE BOTTOM OF THE PAGE
$this->Ln(5);
$this->setFont('helvetica','B',12);
$this->Cell(189, 5,'GIGABIT TECHNOLOGIES (PTY) LTD.' ,0,1,'C');
$this->setFont('helvetica','',8);
$this->Cell(189, 4,'P.O. Box 1844 Manzini' ,0,1,'C');
$this->Cell(189, 4,'Email: sales#gigabittech.com | Tel: +268 7672 4277' ,0,1,'C');
$this->Cell(189, 4,'Office 786, Manzini Lifestyle Centre, Plot 2871, Ngwane Street, Manzini' ,0,1,'C');
// SETTING FONT
$this->setFont('helvetica','',8);
// PAGE NUMBER
date_default_timezone_set("Asia/Dhaka");
$today = date("F j, Y");
$this->Cell(25, 10, 'Printed On: '.$today,0,0,'L');
$this->Cell(164, 10, 'Page '.$this->getAliasNumPage().' of '.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');
}
}
// create new PDF document
$pdf = new PDF('P', 'mm', 'A4', true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nkambule Bonginkosi');
$pdf->SetTitle('BNS Employee Contract');
$pdf->SetSubject('BNS Employee Contract');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (#file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// set default font subsetting mode
$pdf->setFontSubsetting(true);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('helvetica', '', 14, '', true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();
$pdf->Ln(1);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'EMPLOYEE INFORMATION', 0, 1, 'C');
$pdf->Ln(5);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'SURNAME', 1, 0,'',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $lname, 1, 1);
$pdf->Ln(0);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'NAMES', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $fname, 1, 1);
$pdf->Ln(0);
$pdf->setFillColor(204, 197, 197);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS', 1, 0, '',1);
$pdf->Cell(70, 1, 'POSTAL', 1, 0, '', 1);
$pdf->Cell(69, 1, 'PHYSICAL', 1, 0, '',1);
$pdf->Ln(4.5);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(10, 15, '', 0, 'L', 0, 0, '', '', true);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(70, 15, '', 0, 'L', 0, 0, 25, '', true);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(70, 15, 'P.O. '.$postal_address, 1, 'L', 0, 0, 65, '', true);
$pdf->Ln(4.5);
$pdf->MultiCell(70, 15, $postal_address_3, 1, 'L', 0, 0, 65, '', true);
$pdf->Ln(5.2);
$pdf->MultiCell(70, 15, $postal_address_5, 1, 'L', 0, 1, 65, '', true);
$pdf->Ln(-25);
$pdf->MultiCell(69, 15, $address, 1, 'L', 0, 0, 135, '', true);
$pdf->Ln(10);
$pdf->MultiCell(69, 15, $residential_address_unit_number, 1, 'L', 0, 0, 135, '', true);
$pdf->Ln(6);
$pdf->MultiCell(70, 15, $residential_address_city_town, 0, 'L', 0, 0, 135, '', true);
$pdf->Ln(13);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'CELL NUM.', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $phonenumber, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ID NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $pid, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'TAX NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $graded_tax, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'D.O.B', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $dob, 1, 1, '',0);
if ($gender == 1){
$real_gender = "Female";
} else {
$real_gender = "Male";
}
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'GENDER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $real_gender, 1, 1, '',0);
if ($marital_status == 1){
$real_marital_status = "Married";
} else {
$real_marital_status = "Single";
}
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'MARITAL STATUS', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(139, 1, $real_marital_status, 1, 1, '',0);
// NEXT OF KIN START
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'NEXT OF KIN', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(70, 1, 'NAME', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, 'CONTACT NUMBER', 1, 1, '',1);
$pdf->Ln(0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(50, 1, ' ', 0, 0);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(70, 1, $next_of_kin_name, 1, 0, '',0);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, $next_of_kin_number, 1, 1, '',0);
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'PARENTAL HOME DETAILS', 0, 1, 'C');
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'PARENTAL HOME HEAD', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $name_head_parental_home, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 1', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_2, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 2', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_3, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ADDRESS LINE 3', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $parental_home_address_line_4, 1, 1, '',0);
/* $pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, '', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'RELATIONSHIP', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 0);
$pdf->Ln(5);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(20, 1, ' ', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, $next_of_kin_realtionship, 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(69, 1, '', 0, 1); */
// NEXT OF KIN END
$pdf->Ln(4);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(189, 1, 'BANKING DETAILS', 0, 1, 'C');
$pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ACCOUNT HOLDER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $lname.' '.$fname, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'ACCOUNT NUMBER', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $account_number, 1, 1, '',0);
$pdf->Ln(2);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'BRANCH CODE', 1, 0, '',1);
$pdf->setFont('helvetica', '', 10);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(139, 1, $branch_code, 1, 1, '',0);
/* $pdf->Ln(26);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, 'BANK DETAILS', 1, 0, '',1);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'BANK NAME', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(69, 1, $bank_name, 0, 0); */
/* $pdf->Ln(0);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'ACC. HOLDER', 1, 0, '',1);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $lname.' '.$fname, 1, 0, '',0);
$pdf->Ln(4.6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'ACC. NUMBER', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $account_number, 1, 0, '',0);
$pdf->Ln(4.6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(50, 1, '', 0, 0);
$pdf->Cell(70, 1, 'BRANCH CODE', 1, 0, '',1);
// $pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 10);
$pdf->Cell(69, 1, $branch_code, 1, 0, '',0); */
/* $pdf->Ln(6);
$pdf->setFont('helvetica', 'B', 12);
$pdf->Cell(20, 1, '', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Cell(40, 1, 'ACC. TYPE', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->setFont('helvetica', '', 12);
$pdf->Cell(69, 1, $account_type, 0, 0); */
$pdf->Ln(32);
$pdf->setFont('helvetica', 'B', 10);
$pdf->Cell(10, 1, '___________________________________', 0, 0);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(100, 15, 'Signature: '.$title.' '.$lname.' '.$fname, 0, 'L', 0, 0, 15, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(-6);
$pdf->setFont('helvetica', 'B', 10);
$pdf->MultiCell(100, 15, '___________________________________', 0, 'L', 0, 0, 120, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
$pdf->Ln(6);
$pdf->setFont('helvetica', '', 10);
$pdf->MultiCell(100, 15, 'Date', 0, 'L', 0, 0, 120, '', true);
$pdf->Cell(30, 1, ' ', 0, 0);
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
ob_end_clean();
$pdf->Output($fname." Info.pdf", 'I');
?>

How to auto adjust cell height in fpdf

How can I auto adjust the cell height in fpdf?
My pdf looks a little bit bad ;)
Screenshot of PDF
My code:
$pdf->SetFont('Arial', 'B', 13);
$pdf->SetLeftMargin(30);
$pdf->SetFillColor(193,229,252);
$pdf->Cell(15, 20, '', 0, 1, 'C');
$pdf->Cell($width_cell[0], 10, 'Datum', 1, 0, 'C', true);
$pdf->Cell($width_cell[1], 10, 'Von', 1, 0, 'C', true);
$pdf->Cell($width_cell[2], 10, 'Bis', 1, 0, 'C', true);
$pdf->Cell($width_cell[3], 10, 'Grund', 1, 1, 'C', true);
$pdf->SetFont('Arial', '', 13);
$fill = false;
while ($z = $stmt->fetch(PDO::FETCH_ASSOC)) {
$pdf->Cell($width_cell[0],10,date("d.m.Y", strtotime($z['date'])),1,0,'C',$fill);
$pdf->Cell($width_cell[1],10,substr($z['startTime'], 0, 5) . ' Uhr',1,0,'C',$fill);
$pdf->Cell($width_cell[2],10,substr($z['endTime'], 0, 5) . ' Uhr',1,0,'C',$fill);
$pdf->Cell($width_cell[3],10,$z['reason'],1,1,'C',$fill);
}
$pdf->Output();
To output multiple lines into a cell you'll need to use MultiCell instead of Cell.

How to make table header and table footer appear on each page?

The table footer and header only appear at the beginning and at the end of the page. I'm using FPDF.
This is the code:
$pdf = new myPDF();
$pdf->AliasNbPages('{nb}');
$pdf->AddPage('L', 'A4', 0);
$pdf->headerTable();
$pdf->viewTable($con);
$pdf->footerTable();
$pdf->Output();
This is myPDF class:
<?php
$con = new PDO('mysql:host=localhost;dbname=db_tc', 'root', '');
require('function.php');
require('fpdf/fpdf.php');
class myPDF extends FPDF
{
function header()
{
$this->SetleftMargin(30);
$this->SetFont('Times', 'B', 14);
$this->Cell(0, 10, 'Office 1', 0, 0, 'C');
$this->Ln(20);
}
function footer()
{
$this->SetY(-15);
$this->SetFont('Times', '', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
}
function headerTable()
{
$this->SetleftMargin(20);
$this->SetFillColor(255, 213, 31);
$this->SetDrawColor(50, 50, 100);
$this->SetFont('Times', 'B', 12);
$this->Cell(15, 10, 'Nomor', 1, 0, 'C', true);
$this->Cell(40, 10, 'Tanggal Cek', 1, 0, 'C', true);
$this->Cell(40, 10, 'Type Unit', 1, 0, 'C', true);
$this->Cell(40, 10, 'Serial Number', 1, 0, 'C', true);
$this->Cell(40, 10, 'Serial Number2', 1, 0, 'C', true);
$this->Cell(30, 10, 'Lokasi', 1, 0, 'C', true);
$this->Cell(30, 10, 'Ruangan', 1, 0, 'C', true);
$this->Ln();
}
function footerTable()
{
$this->SetleftMargin(30);
$this->SetFillColor(255, 213, 31);
$this->SetDrawColor(50, 50, 100);
$this->SetFont('Times', 'B', 12);
$this->Cell(15, 10, 'Nomor', 1, 0, 'C', true);
$this->Cell(40, 10, 'Tanggal Cek', 1, 0, 'C', true);
$this->Cell(40, 10, 'Type Unit', 1, 0, 'C', true);
$this->Cell(40, 10, 'Serial Number', 1, 0, 'C', true);
$this->Cell(40, 10, 'Serial Number2', 1, 0, 'C', true);
$this->Cell(30, 10, 'Lokasi', 1, 0, 'C', true);
$this->Cell(30, 10, 'Ruangan', 1, 0, 'C', true);
$this->Ln();
}
function viewTable($con)
{
$this->SetleftMargin(30);
$this->SetFont('Times', '', 12);
$this->SetFillColor(224, 224, 224);
$stmt = $con->query("SELECT * FROM officepakai");
while ($data = $stmt->fetch(PDO::FETCH_OBJ)) {
$this->Cell(15, 10, $data->Nomor, 1, 0, 'C', true);
$this->Cell(40, 10, $data->Tanggal_Cek, 1, 0, 'L', true);
$this->Cell(40, 10, $data->Type_Unit, 1, 0, 'L', true);
$this->Cell(40, 10, $data->Serial_Number, 1, 0, 'L', true);
$this->Cell(40, 10, $data->Serial_Number2, 1, 0, 'L', true);
$this->Cell(30, 10, $data->Lokasi, 1, 0, 'L', true);
$this->Cell(30, 10, $data->Ruangan, 1, 0, 'L', true);
$this->Ln();
}
}
}
$pdf = new myPDF();
$pdf->AliasNbPages('{nb}');
$pdf->AddPage('L', 'A4', 0);
$pdf->headerTable();
$pdf->viewTable($con);
$pdf->footerTable();
$pdf->Output();
?>
I haven't worked with this lib but as per it's documentation here I'd say only Header and Footer methods are being called, but you seem to have some customizations called headerTable and footerTable.
The Header() and Footer() methods are called automatically, so I believe that calling the custom methods inside them should do the trick:
function Header()
{
$this->SetleftMargin(30);
$this->SetFont('Times', 'B', 14);
$this->Cell(0, 10, 'Office 1', 0, 0, 'C');
$this->Ln(20);
$this->headerTable(); // add this
}
function Footer()
{
$this->SetY(-15);
$this->SetFont('Times', '', 8);
$this->Cell(0, 10, 'Page ' . $this->PageNo() . '/{nb}', 0, 0, 'C');
$this->footerTable(); // add this
}

Make text fit in a cell with fpdf

im making a pdf file using fpdf.. The fdf generated will show data in table form from the database. My problem is, when the data string is too long, it do not fit well in the table cell. Look below in column no 3:
Below is my full code:
<?php
require('fpdf17/fpdf.php');
require('db.php');
//create a FPDF object
$pdf=new FPDF();
$pdf->SetFont('Times','B',20); //set font for the whole page (font family, style, size)
$pdf->SetTextColor(0,0,0); //using RGB value
//set up a page
$pdf->AddPage('P'); //potrait orientation
$pdf->SetDisplayMode('default'); //using 100 percent zoom and the viewer's default layout
$icon = "files/icon.png";
$pdf->Cell (10);
$pdf->Cell(60, 60, $pdf->Image($icon, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false);
$pdf->SetFillColor(0,0,0);
$pdf->SetFont('Times', '', 12);
$pdf->SetXY(10, 30);
$pdf->Cell(10);
$pdf->Cell(30, 6, 'Retrieval Date' , 0, 0, '', 0);
date_default_timezone_set("Asia/Kuala_Lumpur"); //set default time zone
$pdf->Cell(30, 6, ': '.date("d/m/Y"), 0, 2, 'B', 0);
//Set x and y position for the main text, reduce font size and write content
$pdf->SetXY(20,40); //setting the position
$pdf->SetFont('Times', 'BU', 14);
$pdf->Write(12,'Absenteeism record for:');
$course_course_code = addslashes( filter_input( INPUT_GET,'course',FILTER_SANITIZE_STRING ) );
$data = "SELECT course_code, course_name FROM studentattendance
INNER JOIN course ON studentattendance.course_course_code=course.course_code WHERE course_course_code LIKE '$_GET[course]' GROUP BY course_code";
$result = $conn->query($data) or die("Error: ".mysqli_error($conn));
while($ser=mysqli_fetch_array($result)){
$course_code = $ser['course_code'];
$course_name = $ser['course_name'];
$pdf->SetFillColor(0,0,0);
$pdf->SetFont('Times', '', 12);
$pdf->SetY(50);
$pdf->Cell(10);
$pdf->SetX(20);
$pdf->Cell(30, 6, 'COURSE' , 0, 0, '', 0);
$pdf->Cell(30, 6, ': '.$course_code. ' - '.$course_name, 0, 2, 'B', 0);
}
//start first table
$pdf->SetFillColor(255,255,255);
$pdf->SetFont('Times', 'B', 12);
$pdf->SetXY(21,58);
$pdf->Cell(10, 6, 'No.', 1, 0, 'L', 1);
$pdf->Cell(25, 6, 'Matric no', 1, 0, 'L', 1);
$pdf->Cell(75, 6, 'Name', 1, 0, 'L', 1);
$pdf->Cell(25, 6, 'GROUP', 1, 0, 'L', 1);
$pdf->Cell(30, 6, 'Absenteeism %', 1, 0, 'L', 1);
$row_height = 6;
$y1_axis = 58;
$y1_axis = $y1_axis + $row_height;
$counter = 1;
$course_course_code = addslashes( filter_input( INPUT_GET,'course',FILTER_SANITIZE_STRING ) );
$data = "SELECT stud_matric, stud_name, group_group_code, getid,
SUM(studAtt_endTime - studAtt_startTime)/(course_contacthour_perWeek * 14) AS 'sum' FROM studentattendance
INNER JOIN course ON studentattendance.course_course_code=course.course_code
INNER JOIN student ON studentattendance.student_stud_matric=student.stud_matric
WHERE studAtt_status='0' AND course_course_code LIKE '$_GET[course]' GROUP BY getid ORDER BY sum DESC";
$result = $conn->query($data) or die("Error: ".mysqli_error($conn));
while($ser=mysqli_fetch_array($result)){
$stud_matric = $ser['stud_matric'];
$stud_name = $ser['stud_name'];
$group_group_code = $ser['group_group_code'];
$per=number_format($ser['sum'] * 100, 2)." %";
$pdf->SetFont('Times', '', 12);
$pdf->SetXY(21, $y1_axis);
$pdf->Cell(10, 6, $counter, 1, 0, 'L', 1);
$pdf->Cell(25, 6, $stud_matric, 1, 0, 'L', 1);
$pdf->Cell(75, 6, $stud_name, 1, 0, 'L', 1);
$pdf->Cell(25, 6, $group_group_code, 1, 0, 'L', 1);
$pdf->Cell(30, 6, $per, 1, 0, 'L', 1);
$pdf->Ln();
$y1_axis = $y1_axis + $row_height;
$counter++;
if ($counter % 34 === 0) {
$pdf->AddPage();
$y1_axis = 20;
}
}
//end first table
//Output the document
$pdf->Output("$course_code.pdf",'I');
?>
Please help me..
Change the size of the cell
$pdf->Cell(5, 6, 'No.', 1, 0, 'L', 1);
$pdf->Cell(25, 6, 'Matric no', 1, 0, 'L', 1);
$pdf->Cell(100, 6, 'Name', 1, 0, 'L', 1);
$pdf->Cell(25, 6, 'GROUP', 1, 0, 'L', 1);
$pdf->Cell(30, 6, 'Absenteeism %', 1, 0, 'L', 1);

Page Break issues in fpdf and php

I have to generate multiple pages in fpdf by php.on first section i am using multicell.that works fine.after that i am using cell in a loop.
$GetMultiCellHeight = $pdf->y - $y;
$y = $y + $GetMultiCellHeight;
$pdf->SetXY($x, $y);
$pdf->Cell(30, 10, 'FILE NO', 1, 0, 'C');
$pdf->Cell(80, 10, 'FILE NAME', 1, 0, 'C');
$pdf->Cell(30, 10, 'DATE', 1, 0, 'C');
$pdf->Cell(50, 10, 'TYPE', 1, 0, 'C');
$y = $y + 10;
$pdf->SetXY($x, $y);
while ($rowSubmission_files = oci_fetch_row($parse_Submission_files)) {
$pdf->Cell(30, 10, $rowSubmission_files [1], 1, 0, 'C');
$pdf->Cell(80, 10, $rowSubmission_files [2], 1, 0, 'L');
$pdf->Cell(30, 10, $rowSubmission_files [5], 1, 0, 'C');
$pdf->Cell(50, 10, $rowSubmission_files [6], 1, 0, 'L');
$y = $y + 10;
$pdf->SetXY($x, $y);
}
I have two rows in my database to print file details.
after generation of pdf i am getting each rows in a new page. how to solve this?thanks in advance.

Categories