Pemrograman Web Tugas 9 - Latihan CRUD PHP + Report PDF dengan FPDF

Muhammad Lintang Panjerino
5025201045
Pemrograman Web Kelas B

Tugas 9 mata kuliah Pemrograman Web Kelas B adalah latihan membuat program CRUD dengan menggunakan PHP dan MySQL. Untuk mempercantik tampilan website saya menggunakan framework Bootstrap yang terhubung melalui CDN. Selain itu, pada saat akan menghapus data, akan tampil konfirmasi penghapusan data yang berisi nama dari siswa yang akan dihapus datanya. Selain CRUD sederhana, pada website ini juga terdapat fitur untuk download laporan berformat PDF dengan menggunakan bantuan FPDF. Untuk dapat menghasilkan laporan PDF diperlukan beberapa langkah, yang dijelaskan di bawah. Source code dari website ini terletak pada sebuah repository di akun Github saya.

Langkah-langkah pembuatan laporan PDF:

  1. Buka situs berikut: http://www.fpdf.org/
  2. Pilih section Downloads di sebelah kiri halaman
  3. Download zip FPDF versi terbaru, yaitu v1.85 (2022-11-10)
  4. Ekstrak zip ke folder program yang dikerjakan
  5. Tambahkan sebuah tombol/button "Unduh PDF" pada file index.php
  6. Buat file baru bernama laporan_pdf.php yang berisi script untuk mengambil data dari database dan menyusunnya menjadi sebuah halaman PDF yang dapat didownload


Link Repository Github: https://github.com/mlintang20/pemrograman-web-tugas-9

Berikut adalah screenshot dari website tersebut:


Sedangkan berikut adalah screenshot dari laporan PDF yang dihasilkan:



Berikut isi file laporan_pdf.php:

<?php

    require("phpfpdf/fpdf.php");

    include "connect.php";

    $pdf = new FPDF("l", "mm", "A4");

    $pdf->AddPage();
    $pdf->SetMargins(17, 20, 17);
    $pdf->Cell(260, 7, "", 0, 1, "C");
    $pdf->SetFont("Times", "B", 28);
    $pdf->Cell(260, 7, "Daftar Siswa", 0, 1, "C");
    $pdf->Cell(260, 7, "", 0, 1, "C");
    $pdf->Cell(260, 7, "", 0, 1, "C");

    $pdf->SetFont("Times", "B", 14);
    $pdf->Cell(35, 10, "Foto", 1, 0, "C");
    $pdf->Cell(40, 10, "NIS", 1, 0, "C");
    $pdf->Cell(55, 10, "Nama", 1, 0, "C");
    $pdf->Cell(40, 10, "Jenis Kelamin", 1, 0, "C");
    $pdf->Cell(40, 10, "Telepon", 1, 0, "C");
    $pdf->Cell(50, 10, "Alamat", 1, 1, "C");

    $pdf->SetFont("Times", "", 14);

    $query = "SELECT * FROM siswa";
    $sql = $pdo->prepare($query);
    $sql->execute();

    while ($row = $sql->fetch()){
        $image = $row["foto"];
        $pdf->Cell(35, 30, $pdf->Image("images/".$image, $pdf->GetX() + 2.5, $pdf->GetY(), 30, 30), 1, 0, "C", false);
        $pdf->Cell(40, 30, $row["nis"], 1, 0, "C");
        $pdf->Cell(55, 30, $row["nama"], 1, 0, "C");
        $pdf->Cell(40, 30, $row["jenis_kelamin"], 1, 0, "C");
        $pdf->Cell(40, 30, $row["telp"], 1, 0, "C");
        $pdf->Cell(50, 30, $row["alamat"], 1, 1, "C");
    }

    $pdf->Output();
?>

Berikut adalah button tambahan pada file index.php:

<button type="button" class="btn btn-info my-3">
        <a href="laporan_pdf.php" class="text-dark text-decoration-none">Unduh PDF</a>
</button>


Komentar

Postingan populer dari blog ini

Tugas 2 PPB

Tugas 3 PPB

Tugas 4 PPB