Tuesday 11 October 2016

CodeIgniter : Menampilkan data dari database dan tutorialnya

Selamat pagi semuanya, pada kali ini saya akan berbagi tentang cara menampilkan data dari database menggunakan framework CodeIgniter. Sebelum lanjut, kalian harus baca dulu artikelnya yaitu Insert Data ke Database dan Tutorial untuk membuatnya. Karena ini menjadi satu paket proyek CRUD dengan yang itu. 
Menampilkan data dari database itu sangat penting, nanti kita akan membuat laporan kepada pihak owner dengan menampilkan transaksi yang tersimpan didatabase. Selain itu, proses menampilkan data dari database juga sangat penting untuk menampilkan informasi mengenai produk atau jasa yang kita tawarkan agar mudah diakses oleh pengguna website kita.
Sebelumnya silakan kalian download terlebih dahulu file CRUD lengkap di tombol download di bawah ini:

Download
Tampilan yang akan kita buat seperti ini:


Pertama kita buat terlebih dahulu functionnya di controller untuk memanggil function yang ada di model.
Buat Siswa.php dan simpan di controllers codenya seperti dibawah ini:


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Siswa extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->library('table');
$this->load->model('msiswa');
}

public function index()
{

$data['data_siswa'] = $this->msiswa->lihat_siswa();
$this->load->view('vdaftarsiswa', $data);

}

public function form(){
$this->load->view('vsiswa');
}

public function insert(){
$data = array(
'id' => $this->input->post('id'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'kelas' => $this->input->post('kelas')
);
$this->msiswa->qinsert($data);
redirect('siswa/index');
}

public function delete(){
$id = $this->input->get('id');
$this->msiswa->delete($id);
redirect('siswa/index');
}

public function update(){
$id = $this->input->get('id');
$data['data_update'] = $this->msiswa->update($id);
$this->load->view('veditsiswa', $data);
}

public function update_table(){
$id = $this->input->post('id');
$nama = $this->input->post('nama');
$alamat = $this->input->post('alamat');
$kelas = $this->input->post('kelas');
$this->msiswa->update_table($id, $nama, $alamat, $kelas);
redirect('siswa/index');
}

}

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

Itu saya tampilkan semua function CRUD yang ada di Siswa.php namun yang berfungsi untuk memanggil function yang ada di model hanya 1 yaitu function index.

public function index()
{

$data['data_siswa'] = $this->msiswa->lihat_siswa();
$this->load->view('vdaftarsiswa', $data);

}

$data['data_siswa'] berfungsi menampung nilai dari function lihat_siswa() yang ada model. Yang nanti diteruskan ke ke view.
Selanjutnya, kalian buat function lihat_siswa() di models->msiswa.php. codenya seperti dibawah ini:

public function lihat_siswa(){
$query = $this->db->query("SELECT * FROM siswa");
return $query -> result();
}
Selanjutnya kalian buatkan viewnya nama filenya vdaftarsiswa.php. codenya seperti dibawah ini:

<?php require('header.php') ?>
<div class="container">
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="table-responsive">
<?php

$tabelku = array(
'table_open' => '<table class="table">',
'thead_open' => '<thead>',
'thead_close' => '</thead>',

'heading_row_start' => '<tr>',
'heading_row_end' => '</tr>',
'heading_cell_start' => '<th>',
'heading_cell_end' => '</th>',

'tbody_open' => '<tbody>',
'tbody_close' => '</tbody>',

'row_start' => '<tr>',
'row_end' => '</tr>',
'cell_start' => '<td>',
'cell_end' => '</td>',

'row_alt_start' => '<tr>',
'row_alt_end' => '</tr>',
'cell_alt_start' => '<td>',
'cell_alt_end' => '</td>',
'table_close' => '</table>'
);

$this->table->set_heading('#','ID', 'Nama', 'Alamat', 'Kelas');
$no = 1;
foreach ($data_siswa as $siswa ) {
$id = $siswa->id;
$nama = $siswa->nama;
$alamat = $siswa->alamat;
$kelas = $siswa->kelas;

$this->table->add_row($no, $id, $nama, $alamat, $kelas,anchor('siswa/delete?id='.$id, '<span class="glyphicon glyphicon-remove-sign"></span>', 'id="$id"'), anchor('siswa/update?id='.$id, '<span class="glyphicon glyphicon-pencil"></span>', 'id="$id"'));
$no++;
}
$this->table->set_template($tabelku);
echo $this->table->generate();
?>
</div>
</div>
</div>
</div>
<?php require('footer.php'); ?>
Lihat di sintaks foreachnya $data_siswa merupakan data yang di parse dari model ke controller kemudian ditampilkan di view.

Kalau dijelaskan mungkin akan penjang lebar dan kalian jadi tambah bingung, saran saya silakan kalian coba saja, kalau ada error mungkin bisa hubungin saya lewat komentar, email, messanger atau yang lain.

Semoga tutorial ini bermanfaat, kalian bisa mengerti dan saya pun senang, hehehe.
Ala Bisa Karena Terbiasa

Baca juga artikel lainnya: