Cara Cetak Pdf berdasar id di codeigniter
Masdita.com, Hallo sobat semua di tutorial kali ini saya akan membahas mengenai cara cetak pdf sesuai id di codeigniter, bagi sobat yang sedang membuat sistem PPDB (penerimaan peserta didik baru) tutorial ini sangat cocok sekali buat refrensi sobat, karena apa? Karena setiap peserta didik tentunya jika ingin mencetak form pendaftarannya tentunya dari satu calon peserta didik dan yang lainya akan berbeda data dirinya ya sob. Nah sebelumnya kita sudah membahas penghilangan index.php di codeigniter ya sob dan juga cara cetak pdf di codeigniter, kali ini kita akan bahas cara cetak pdf berdasarkan id di codeigniter ya sob, ini hampir serupa tapi tak sama.
Oke sob disini saya menggunakan library dompdf untuk mencetak pdf nya ya sob. Kenapa menggunakan dompdf? Ya sebetulnya simple aja sih karena saya sudah sering menggunakan dompdf, dari pada saya nyoba yang lain dan bingung mending saya gunain yang sudah pernah sebelumnya ya sob hehe.
Sebelum kita memulainya ditutorial ini sobat harus pastikan membaca tutorial saya sebelumnya tentang cara cetak pdf di codeigniter yang sudah saya bahas, dan tutorial kali ini saya akan melanjutkan dari tutorial sebelumnya jadi jika sobat belum baca tutorial saya yang sebelumnya ,sobat mending baca dulu ya biar nggak bingung hehe.
Kita letss go saja ya sob, langkah-langkah apa saja yang harus dilakukan untuk mencetak pdf berdasarkan id di codeigniter
1. Buat database
Kita buat database dengan nama ci, sobat bisa copas kode di bawah untuk di copy pastekan di sql sobat ya-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 11 Feb 2019 pada 06.07
-- Versi Server: 10.1.16-MariaDB
-- PHP Version: 5.6.24
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `ci`
--
-- --------------------------------------------------------
--
-- Struktur dari tabel `siswa`
--
CREATE TABLE `siswa` (
`id_siswa` int(11) NOT NULL,
`nama` varchar(25) NOT NULL,
`alamat` text NOT NULL,
`kelas` varchar(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data untuk tabel `siswa`
--
INSERT INTO `siswa` (`id_siswa`, `nama`, `alamat`, `kelas`) VALUES
(2, 'kaka', 'rembang', 'XI'),
(3, 'dita', 'rembang', 'XI'),
(4, 'ida', 'rembang', 'X'),
(5, 'kirun', 'Juana', 'XII');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `siswa`
--
ALTER TABLE `siswa`
ADD PRIMARY KEY (`id_siswa`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `siswa`
--
ALTER TABLE `siswa`
MODIFY `id_siswa` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2. Buat File controller Cetak.php
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');
class Cetak extends CI_Controller {
function __construct(){
parent::__construct();
}
public function index(){
$data = array(
'record' => $this->db->get('siswa')
);
$this->load->view('v_index',$data);
}
public function cetak_id($id) {
$data = array(
'record' => $this->db->query("SELECT * FROM siswa where id_siswa='$id'"),
);
$this->load->view('v_cetak',$data);
$html = $this->output->get_output();
$this->load->library('dompdf_gen');
$this->dompdf->load_html($html);
$this->dompdf->render();
$sekarang=date("d:F:Y:h:m:s");
$this->dompdf->stream("pendaftaran".$sekarang.".pdf",array('Attachment'=>0));
}
}
Saya akan jelaskan sedikit tentang kode diatas
'record' => $this->db->query("SELECT * FROM siswa where id_siswa='$id'")
Ditutorial sebelumnya kita selesai membahas mencetak semua data yang ada di dalam tabel jadi pdf, nah bagaimana jika kita hanya ingin mencetak berdasarkan id? Cara nya sobat tinggal tambahi saja clausa where id_siswa=’$id’ dan jagan lupa tambah kan $id di dalam kurung function cetak_id karena itu berfungsi untuk mengambil data sesuai id ya sob.
3. Buat file index.php di View
<!DOCTYPE html><html>
<head>
<title></title>
</head>
<body>
Cetak Siswa Berdasarkan Id
<table border="1">
<thead>
<tr>
<th>no</th>
<th>Nama</th>
<th>Alamat</th>
<th>Kelas</th>
<th>Pilihan</th>
</tr>
</thead>
<tbody>
<?php $no=1; foreach($record->result() as $row){ ?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $row->nama ?></td>
<td><?php echo $row->alamat ?></td>
<td><?php echo $row->kelas ?></td>
<td><a href="<?php echo base_url().'cetak/cetak_id/'.$row->id_siswa;?>"><button>cetak</button></a> </td>
</tr>
<?php } ?>
</tbody>
</table>
<br>
</body>
</html>
Saya akan jelaskan sedikit tentang kode diatas
<td><a href="<?php echo base_url().'cetak/cetak_id/'.$row->id_siswa;?>"><button>cetak</button></a> </td>
Sekilas terlihat sama dengan tutorial sebelumnya tetapi sedikit berbeda ya sob. Coba kita bandingkan dengan tutorial sebelumnya yang mencetak semua data yang ada di dalam tabel. Disini kita menambahi ‘cetak/cetak_id/’.$row->id_siswa yang artinya setiap baris mempunyai id masing-masing dan jika nanti diklik cetak akan mengirim id ke controller sehingga yang tercetak nantinya hanyalah id yang diklik saja.
4. Buat file v_cetak.php di view
<!DOCTYPE html><html lang="en">
<head>
<title>Cetak berdasarkan id</title>
</head>
<style type="text/css">
td {
padding: 5px;
}
</style>
<body style="font-family:Times New Roman;font-size:12px">
<?php $no=1; foreach($record->result() as $row){ ?>
<center><h1>Cetak berdasarkan Id</h1></center>
<table border="1">
<tr>
<td>No</td>
<td>Nama</td>
<td>Alamat</td>
<td>Kelas</td>
</tr>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $row->nama ?></td>
<td><?php echo $row->alamat ?></td>
<td><?php echo $row->kelas ?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
5. Coba kita jalankan
( Tampilan index.php)
6. Tes Cetak
Coba kita tes dengan mengklik tombol cetak di kolom yang ada nama kakaNah ditutorial ini kita bisa tau cara cetak pdf berdasarkan id yang kita mau, jadi tak usah bingung bagi kamu yang sedang membuat sistem PPDB tapi belum tau bagaimana cara mencetak pdf sesuai id untuk setiap siswanya. Semoga tutorial yang saya berikan bisa bermanfaat ya. Okee sob sekian ya tutorial cara cetak pdf sesuai id di codeigniter, simak terus masdita.com untuk mendapatkan update-update an terbaru tentang pemrograman, tips dan trik serta info menarik lainnya.
Penulis : dita trinugroho
punyaku kok error ya ?
BalasHapusmaaf mas dita punya ku eror ya heheh
BalasHapusMaaf MasDita Blog sya juga sdah coba tutor yang mas arahkan tapi setelah run punyaku kok ada keselahan ya masdita? tepatnya di controler cetak::$db itu kenapa ya mas mohon pencerahannya terima kasih sebelumnya
BalasHapusmas mau tanya punya ku error seperti ini
BalasHapusSeverity: 8192
Message: __autoload() is deprecated, use spl_autoload_register() instead
Filename: dompdf/dompdf_config.inc.php
Line Number: 431
dan
Type: DOMPDF_Exception
Message: No block-level parent found. Not good.
Filename: C:\xampp\htdocs\PAUL\project\sdmuh\application\third_party\dompdf\include\inline_positioner.cls.php
Line Number: 66
kira kira masalahnya dimana ya? bisa dibantu?
$this->load->view('v_index',$data);
BalasHapustapi di bawah diminta bikin view index.php?