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>
Posting Komentar untuk "Membuat Cetak Laporan Berdasarkan Filter Data di PHP Codeigniter 3 "