Membuat Laporan PDF PHP mysqli sederhana (lengkap dengan penjelasannya)

Membuat Laporan merupakan hal yang umum untuk mendapatkan informasi dari data yang ada. Laporan merupakan suatu dokumen yang menjadi sebuah produk akhir dari suatu kegiatan. tujuan pembuatan laporan adalah sebagai sarana dokumentasi, arsip atau laporan informasi. 

Membuat laporan merupakan hal yang harus ada didalam sebuah aplikasi. karena terkadang bukan hanya laporan dalam bentuk digital diinternet yang dibutuhkan oleh perusahaan, instansi atau yang lainnya akan tetapi juga dibutuhkan dokumen fisik. oleh karena itu kali ini kita akan belajar bagaimana cara membuat dokumen laporan didalam aplikasi PHP mysqli.

Cara membuat Dokumen Laporan PDF di PHP Mysqli

pada tutorial kali ini kita akan membuat laporan PDF mysqli dengan perintah javascript yang lebih mudah dibuatnya dibandingkan dengan cara yang lainnya. untuk script yang digunakan untuk mencetak dokumen hanya menggunakan perintah seperti dibawah ini.

  
    <script>         window.print();     </script>


Adapun hasil akhir projek yang nanti kita akan buat adalah sebagai berikut:

Membuat Laporan Pdf PHP mysqli

Tahap pembuatan Laporan PDF

Dalam pembuatan Laporan PDF dengan PHP mysqli ada beberapa tahap yang perlu dilakukan diantaranya yaitu:
  1. Membuat folder data barang
  2. Membuat database dan tabelnya beserta data yang ada didalamnya
  3. Membuat File index.php
  4. Membuat File cetak.php
  5. Melakukan ujicoba membuat laporan pdf php mysqli
untuk tahap selanjutnya silahkan ikuti langkah-langkah diatas dengan terurut tidak boleh ada langkah yang terlewat.

1. Membuat Folder barang

langkah pertama yang dilakukan untuk membuat laporan pdf php mysqli adalah membuat folder. sekarang buat terlebih dahulu sebuah folder didalam xampp yaitu didalam htdocts dengan nama data_barang.


2. Membuat database beserta datanya didalam mysql

untuk membuat database mysql dikomputer silahkan buka terlebih dahulu xamppnya kemudian jalankan apache dan mysqlnya. kemudian ketika xampp sudah berjalan silahkan klik menu shell yang ada di xampp dan copykan skrip dibawah ini. 

Adapun jika kalian belum menginstall xampp dapat diinstall terleih dahulu caranya dapat dilihat disini. cara install xampp di windows.

  
   
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
    SET time_zone = "+00:00";


    --
    -- Database: `databarang`
    --

    create database databarang;
    use databarang;

    -- --------------------------------------------------------

    --
    -- Table structure for table `inventaris`
    --

    CREATE TABLE `inventaris` (

    `id` int(11) NOT NULL,
    `nama_barang` varchar(255) NOT NULL,
    `lokasi_penyimpanan` varchar(255) NOT NULL,
    `jumlah_barang` int(11) NOT NULL,
    `kondisi_barang` varchar(30) NOT NULL,
    `keterangan` text NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    --
    -- Dumping data for table `inventaris`
    --



    INSERT INTO `inventaris` (`id`, `nama_barang`, `lokasi_penyimpanan`, `jumlah_barang`, `kondisi_barang`, `keterangan`) VALUES

    (1, 'Laptop Asus ROG', 'Meja Belajar', 1, 'Bagus', 'Laptop untuk belajar bukan untuk main game doang.'),
    (2, 'Mouse Wireles', 'Meja Belajar', 1, 'Bagus', 'Disimpan disamping laptop.'),
    (3, 'Hardisk Eksternal', 'Tas Sekolah', 1, 'Bagus', 'Untuk backup data project-project penting.'),
    (4, 'Flashdisk', 'Tas Sekolah', 1, 'Bagus', 'untuk install ulang laptop.'),
    (5, 'Terminal Listrik', 'Meja Belajar', 1, 'Bagus', 'Terminal listrik 6 slot.'),
    (6, 'HP Asus Rog', 'Tas Sekolah', 1, 'Bagus', 'Untuk main game online.'),
    (7, 'Earphone', 'Tas Sekolah', 1, 'Bagus', 'Disimpan dekat Hp Asus Rog.');

    --
    -- Indexes for dumped tables
    --

    --
    -- Indexes for table `inventaris`
    --
    ALTER TABLE `inventaris`
    ADD PRIMARY KEY (`id`);

    --
    -- AUTO_INCREMENT for dumped tables
    --

    --
    -- AUTO_INCREMENT for table `inventaris`
    --
    ALTER TABLE `inventaris`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
    COMMIT;




Skrip diatas adalah skrip untuk membuat database beserta tabelnya dixampp mysql. tujuannya pembuatan skrip diatas adalah supaya nantinya kita langsung praktik membuat laporan secara langsung di PHP. tidak harus memikirkan membuat data didalam databasenya.

3. Membuat file Index.php

File index.php adalah file yang digunakan untuk tampilan utama dari sebuah website. dengan file index.php setiap aksi nantinya akan disetting didalam file ini, intinya file index digunakan sebagai file pusat sebuah tampilan utama. 
Didalam tampilan index.php akan dibuat tombol cetak untuk mencetak dokumennya. untuk sourcodenya dapat dilihat seperti dibawah ini. buat file index.php kemudian copy sourcode dibawah ini lalu simpan didalam folder data barang


  
   

    a{
    background: blue;
    color: #fff;
    padding: 8px 10px;
    text-decoration: none;
    border-radius: 2px;
    }

        .tengah{
            text-align: center;
        }
    </style>
            <h1 class='tengah'>Cetak laporan PDF Di PHP Dan MySQLi <br/> <br/><a href='https://www.darsonoaja.blogspot.com'> www.darsonoaja.blogspot.com</a></h1>
            <br/>
            <div class='tengah'>
    <a target="_blank" href="cetak.php">Cetak Laporan</a>
            </div>
    <table>
    <tr>
    <th>No</th>
    <th>Nama Barang</th>
    <th>Lokasi Penyimpanan</th>
    <th>Jumlah Barang</th>
    <th>Kondisi Barang</th>
    <th>Keterangan</th>
    </tr>
    <?php
    // koneksi database
    $koneksi = mysqli_connect("localhost","root","","databarang");

    // menampilkan data pegawai
    $data = mysqli_query($koneksi,"select * from inventaris");
    while($d = mysqli_fetch_array($data)){
    ?>
    <tr>
    <td style='text-align: center;'><?php echo $d['id'] ?></td>
    <td><?php echo $d['nama_barang']; ?></td>
    <td><?php echo $d['lokasi_penyimpanan']; ?></td>
    <td><?php echo $d['jumlah_barang']; ?></td>
    <td><?php echo $d['kondisi_barang']; ?></td>
    <td><?php echo $d['keterangan']; ?> </td>
    </tr>
    <?php
    }
    ?>
    </table>
    </body>
    </html>


Pada skrip diatas kita menggunakan code PHP yang suport untuk php versi 7 keatas. jika menggunakan php versi 5 kebawah maka anda harus mengubah mysqli ke dalam mysql. 

Untuk skrip code diatas  yang bertugas mengambil data dari database adalah pada bagian yang ada dibawah ini.

  
    // koneksi database
    $koneksi = mysqli_connect("localhost","root","","databarang");

    // menampilkan data pegawai
    $data = mysqli_query($koneksi,"select * from inventaris");


Kemudian ditampilkan didalam tampilan index perintahnya seperti dibawah ini. 


    
    <?php
    $data = mysqli_query($koneksi,"select * from inventaris");
    while($d = mysqli_fetch_array($data)){
    ?>

    <tr>
    <td style='text-align: center;'><?php echo $d['id'] ?></td>
    <td><?php echo $d['nama_barang']; ?></td>
    <td><?php echo $d['lokasi_penyimpanan']; ?></td>
    <td><?php echo $d['jumlah_barang']; ?></td>
    <td><?php echo $d['kondisi_barang']; ?></td>
    <td><?php echo $d['keterangan']; ?> </td>
    </tr>

    <?php
    }
    ?>


Hasil dari sourcode diatas adalah sebagai berikut :
membuat laporan pdf php mysql



4. Membuat file cetak.php

File cetak ini adalah file yang berfungsi untuk mencetak data yang tadi tampil di index.php. Isi file cetak .php ini sebenarnya 90% hampir sama dengan file index.php yang telah kita buat tadi, hanya saja bedanya yaitu tidak ada tombol print lagi didalamnya, dan terdapat javascript window.print();.

Yang mana javascript window.print() tersebut adalah code javascript yang berfungsi untuk mencetak data yang ada dalam file cetak.php tersebut.

Sekarang langsung saja kita buat file cetak.php dengan mengcopykan script php dibawah ini dan save di folder yang sama yaitu di folder data barang.

  
            <!DOCTYPE html>
        <html>
        <head>
        <title>Panduancode Cetak laporan PDF Di PHP Dan MySQLi</title>
        </head>
        <body>
        <style type="text/css">
        body{
        font-family: sans-serif;
        }
        table{
        margin: 20px auto;
        border-collapse: collapse;
        }
        table th,
        table td{
        border: 1px solid #3c3c3c;
        padding: 3px 8px;

        }
        a{
        background: blue;
        color: #fff;
        padding: 8px 10px;
        text-decoration: none;
        border-radius: 2px;
        }

            .tengah{
                text-align: center;
            }
        </style>
        <table>
        <tr>
        <th>No</th>
        <th>Nama Barang</th>
        <th>Lokasi Penyimpanan</th>
        <th>Jumlah Barang</th>
        <th>Kondisi Barang</th>
        <th>Keterangan</th>
        </tr>
        <?php
        // koneksi database
        $koneksi = mysqli_connect("localhost","root","","databarang");

        // menampilkan data pegawai
        $data = mysqli_query($koneksi,"select * from inventaris");
        while($d = mysqli_fetch_array($data)){
        ?>
        <tr>
        <td style='text-align: center;'><?php echo $d['id'] ?></td>
        <td><?php echo $d['nama_barang']; ?></td>
        <td><?php echo $d['lokasi_penyimpanan']; ?></td>
        <td><?php echo $d['jumlah_barang']; ?></td>
        <td><?php echo $d['kondisi_barang']; ?></td>
        <td><?php echo $d['keterangan']; ?> </td>
        </tr>
        <?php
        }
        ?>
            </table>
            <script>
        window.print();
        </script>
        </body>
        </html>


perhatikan code javascript untuk mencetak dokumen ini. 

  
    <script>
        window.print();
     </script>


kode diatas berfungsi untuk mencetak file html menjadi dokumen dalam bentuk PDF. 



Melakukan ujicoba mencetak dokumen dalam bentuk PDF php mysqli.

Untuk uji coba project mencetak laporan PDF ini silahkan buka localhost/databarang, maka akan tampil file index.php seperti gambar dibawah ini.

mencetak laporan pdf php mysqli

Kemudian Anda coba klik tombol cetak laporan, maka Akan terlihat seperti gambar dibawah ini.

mencetak laporan php mysqli





Posting Komentar

0 Komentar