Membuat Cetak Laporan Berdasarkan Filter Data di PHP Codeigniter 3

Cetak Laporan Berdasarkan Filter Data DI PHP Codeigniter
Halloo Mas bro semua kembali lagi bersama saya, kali ini kita akan belajar bagaimana cara mencetak data berdasarkan data yang di filter. Ok simak tutoririal dibawah ini.

Catatan :
sebelum anda memulai dalam tahap tutorial ini anda ikuti dulu tutorial pada pembuatan laporan dengan library dompdf kerena pada tutorial ini saya langsung kopi kode library dompdfnya. dan jika sudah ada enjoy saja anda lanjut kopi kode dibawah ini. Good Luck For You All..

Langkah 1. Anda buat sebuah file controller dengan nama Cetak_Filter.php dan simple saja anda kopi kode dibawah ini :
    
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Cetak_Filter extends CI_Controller {

 public function index()
 {
  $data['title'] = "Cetak laporan berdasarkan filter data di PHP Codeigniter";
  $data['angkatan'] = $this->db->get('angkatan')->result();
  $this->load->view('laporan/filter', $data);  
 }

 public function filter($id)
 {
  if ($id == 0) {
   $data = $this->db->get('tb_mahasiswa')->result();
  }
  else
  {
   $data = $this->db->get_where('tb_mahasiswa', ['angkatan_id'=>$id])->result();
  }
  $dt['mahasiswa'] = $data;
  $dt['angkatan_id'] = $id;
  $this->load->view('laporan/result', $dt);
 }

 public function cetak($id)
 {
  if ($id == 0) {
   $data = $this->db->get('tb_mahasiswa')->result();
  }
  else
  {
   $data = $this->db->get_where('tb_mahasiswa', ['angkatan_id'=>$id])->result();
  }
  $dt['mahasiswa'] = $data;
  $this->load->library('mypdf');
  $this->mypdf->generate('Laporan/cetak', $dt, 'laporan-mahasiswa', 'A4', 'portrait');
 }

}

/* End of file Cetak_Filter.php */
/* Location: ./application/controllers/Cetak_Filter.php */

  
Langkah 2. pada dibagian view pertama anda buat sebuah file di dalam folder laporan dengan nama file filter.php dan silahkan anda kopi kode diiew di bawah ini:
    
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>Cetak Data Filter</title>
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
</head>
<body>
 <div class="container">
  <br>
  <h1 align="center"><?php echo $title ?? '-' ?></h1>
  <br>
  <div class="row">
   <div class="col-md-3">
    <form action="" id="FormLaporan">
     <select name="" id="angkatan" class="form-control">
      <option value="0">Show All</option>
      <?php foreach ($angkatan as $row): ?>
       <option value="<?php echo $row->id ?>"><?php echo $row->name ?></option>
      <?php endforeach ?>
     </select>
     <br>
     <button type="submit" class="btn btn-primary">Show Data</button>
    </form>
   </div>
   <div class="col-md-9">
    <div id="result"></div>
   </div>
  </div>
 </div>

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <script>
  $(document).ready(function() {
   $("#FormLaporan").submit(function(e) {
    e.preventDefault();
    var id = $("#angkatan").val();
    // console.log(id);
    var url = "<?= site_url('Cetak_Filter/filter/') ?>" + id;
    $('#result').load(url);
   })
  });
 </script>
</body>
</html>
    
  
Langkah 3. pada dibagian view kedua anda buat sebuah file di dalam folder laporan dengan nama file result.php dan silahkan anda kopi kode diiew di bawah ini:
    
    <table class="table table-striped">
  <tr>
   <th>#</th>
   <th>Nim</th>
   <th>Nama</th>
   <th>Alamat</th>
  </tr>
  <?php $no=1; foreach ($mahasiswa as $row): ?>
   <tr>
    <td><?php echo $no++; ?></td>
    <td><?php echo $row->nim ?></td>
    <td><?php echo $row->nama ?></td>
    <td><?php echo $row->alamat ?></td>
   </tr>
  <?php endforeach ?>
 </table>
 <a href="<?= site_url('Cetak_Filter/cetak/'. $angkatan_id) ?>" target="_blank" class="btn btn-warning">Cetak Laporan</a>
    
Langkah 4. Pada dibagian view ketiga anda buat sebuah file di dalam folder laporan dengan nama file cetak.php dan silahkan anda kopi kode diiew di bawah ini:
    
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>Laporan</title>
 <link rel="stylesheet" href="">
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
 <style>
  .line-title{
   border: 0;
   border-style: inset;
   border-top: 1px solid #000;
  }
 </style>
</head>
<body>
 <img src="assets/img/logo.jpg" style="position: absolute; width: 60px; height: auto;">
 <table style="width: 100%;">
  <tr>
   <td align="center">
    <span style="line-height: 1.6; font-weight: bold;">
     SEKOLAH TINGGI ILMU KOMPUTER DAN INFORMATIKA
     <br>MAKASSAR INDONESIA
    </span>
   </td>
  </tr>
 </table>

 <hr class="line-title"> 
 <p align="center">
  LAPORAN DATA MAHASISWA <br>
  <b>Angkatan 2018</b>
 </p>
 <table class="table table-bordered">
  <tr>
   <th>#</th>
   <th>Nim</th>
   <th>Nama</th>
   <th>Jurusan</th>
  </tr>
  <?php $no=1; foreach ($mahasiswa as $row): ?>
   <tr>
    <td><?php echo $no++; ?></td>
    <td><?php echo $row->nim ?></td>
    <td><?php echo $row->nama ?></td>
    <td><?php echo $row->alamat ?></td>
   </tr>
  <?php endforeach ?>
 </table>
</body>
</html>
    

|Back to Home |

Subscribe to receive free email updates:

13 Responses to "Membuat Cetak Laporan Berdasarkan Filter Data di PHP Codeigniter 3 "

  1. Mau tanya bang semisal filternya ada 3 jenis gimana sourcenya semisal kita menfilter sesuai angkatan,jenis kelamin dan Status.. Boleh share bang

    ReplyDelete
    Replies
    1. Klw misalkan filternya lebih dari satu, berarti kondisi pada if, tambahkan lagi simbol && atau AND, pada kode controllernya pada kode filter. Dan untuk di view nya berikan 3 kombo box

      Delete
    2. Klw misalkan filternya lebih dari satu, berarti pada kode sql where, tambahkan lagi Simbol && dan AND, pada kode conteoller filter. Dan untuk di view berikan tiga filter combo box. Dan pada kode javascriptnya jg berikan kondisi

      Delete
  2. Dan apa aja yang perlu kita siapkan seperi jquery atau apalah

    ReplyDelete
  3. Severity: Warning

    Message: Missing argument 1 for Datapegawai::filter()

    Filename: controllers/Datapegawai.php

    Line Number: 20

    Backtrace:

    File: C:\xampp\htdocs\manpower\application\controllers\Datapegawai.php
    Line: 20
    Function: _error_handler

    File: C:\xampp\htdocs\manpower\index.php
    Line: 315
    Function: require_once

    Misi mau nanya itu kenapa yah min ?

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. Function filter() ada yang salah gan, coba periksa kodenya atau kirimkan

      Delete
  4. An endeavor information distribution center might be executed on customary centralized computers, UNIX super servers or parallel engineering stages. It requires broad business demonstrating and may take a very long time to structure and fabricate. Data Analytics Courses

    ReplyDelete
  5. Bang tabel angkatan itu berelasi dgn tabel mahasiswa k?.

    ReplyDelete
  6. This post is very simple to read and appreciate without leaving any details out. Great work!
    data science course fee in hyderabad

    ReplyDelete