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>
Mau tanya bang semisal filternya ada 3 jenis gimana sourcenya semisal kita menfilter sesuai angkatan,jenis kelamin dan Status.. Boleh share bang
ReplyDeleteKlw 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
DeleteKlw 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
DeleteDan apa aja yang perlu kita siapkan seperi jquery atau apalah
ReplyDeletePersiapan sih, cukup jquery saja sudah bisa.
DeleteSeverity: Warning
ReplyDeleteMessage: 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 ?
This comment has been removed by the author.
DeleteFunction filter() ada yang salah gan, coba periksa kodenya atau kirimkan
DeleteAn 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
ReplyDeleteBang tabel angkatan itu berelasi dgn tabel mahasiswa k?.
ReplyDeleteThis post is very simple to read and appreciate without leaving any details out. Great work!
ReplyDeletedata science course fee in hyderabad
minta library mypdf dong
ReplyDelete