Mysql
 sql >> база данни >  >> RDS >> Mysql

Основно създаване на таблица fpdf

Четене и следване на урок на сайта на FPDF може да е добро начало.

Ако приемем, че имате маса (нека я наречем people ) и примерни данни като тези

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]');

Ето един основен 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();

Уверете се, че сте променили низа за връзка

$db = new PDO('mysql:host=localhost;dbname=test;charset=UTF-8', 'user', 'password');
                          ^^^^^^^^^        ^^^^                  ^^^^    ^^^^^^^^



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на дати във формат mm/dd/yyyy в MySQL

  2. Има ли алтернатива „свързване чрез“ в MySQL?

  3. Таблица Hive връща празен набор от резултати за всички заявки

  4. Защо се използва разделител със съхранена процедура в mysql?

  5. java.lang.IllegalStateException:Опит за изпълнение на операция на затворена EntityManagerFactory