FPDF 사이트의 tutorial을 읽고 따라가는 것이 좋습니다.
다음은이
CREATE TABLE People
(id int,
first_name varchar(5),
middle_name varchar(4),
last_name varchar(5),
age int,
email varchar(15));
INSERT INTO People
(id, first_name, middle_name, last_name, age, email)
VALUES
(1, 'Jhon', NULL, 'Doe', 27, '[email protected]'),
(2, 'Mark', 'J', 'Lee', 35, '[email protected]'),
(3, 'Helen', 'P', 'Smith', 30, '[email protected]');
처럼 (people
를 호출 할 수 있습니다) 테이블을 가지고 있다고 가정 및 샘플 데이터 것은 당신이 원하는 것을 할 기본적인 PHP 스크립트입니다. 참고 : 코드에는 간결성을 위해 오류 처리가 없습니다.
<?php
require('fpdf.php');
class People {
public function all() {
try {
$db = new PDO('mysql:host=localhost;dbname=test;charset=UTF-8', 'user', 'password');
$query = $db->prepare("SELECT first_name, middle_name, last_name, age, email FROM people ");
$query->execute();
$people = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
//echo "Exeption: " .$e->getMessage();
$result = false;
}
$query = null;
$db = null;
return $people;
}
}
class PeoplePDF extends FPDF {
// Create basic table
public function CreateTable($header, $data)
{
// Header
$this->SetFillColor(0);
$this->SetTextColor(255);
$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('');
foreach ($data as $row)
{
$i = 0;
foreach ($row as $field) {
$this->Cell($header[$i][1], 6, $field, 1, 0, 'L', true);
$i++;
}
$this->Ln();
}
}
}
// Column headings
$header = array(
array('First Name', 30),
array('Middle Name', 30),
array('Last Name', 30),
array('Age', 12),
array('Email', 47)
);
// Get data
$people = new People();
$data = $people->all();
$pdf = new PeoplePDF();
$pdf->SetFont('Arial', '', 12);
$pdf->AddPage();
$pdf->CreateTable($header,$data);
$pdf->Output();
확인 위층 답변이 문제의 주요 원인에 대한 좋은,하지만, 대신 FPDF의 TCPDF을 채택하는 것이 좋습니다 연결 문자열을
$db = new PDO('mysql:host=localhost;dbname=test;charset=UTF-8', 'user', 'password');
^^^^^^^^^ ^^^^ ^^^^ ^^^^^^^^
tnx 메이트, 마지막으로, 현재 피플 테이블 바로 아래에서 동일한 fpdf 페이지에 보조 테이블을 추가하려면 어떻게해야합니까? 예를 들어 주소 표. – reggel
@reggel 안녕하세요. 당신은 정확히 같은 방식으로 그렇게합니다. 예제를 통해 데이터를 검색하는 메소드로'Address' 클래스를 구현하고, 주소 테이블을 생성하는 새로운 메소드 (CreateAddressTable 등)를 수용하도록'PeoplePDF' 클래스를 수정하고, 새로운 테이블에 대한 헤더 정보를 담기위한 배열을 정의하고, 행동 양식. – peterm
tnx alot a mate u는 나에게 많은 머리를주었습니다 ... – reggel