Selasa, 05 Juni 2012

Menambah dan menampilkan data pada CodeIgniter

Udah terlalu lama banget gue ga ngeposting lagi, jadi kangen mau sharing ilmu lagi.
Oke kali ini seperti biasa, gue mau berbagi ilmu sederhana atau bisa dibilang sangat sederhana.
Soalnya dari judulnya aja cuma nambahin & nampilin data, jadi udah pada bisalah pastinya :)
Eiitt.. tapi kali ini gue mau buatnya di CodeIgniter :D
Buat yang belum tau CodeIgniter itu apa, silahkan cari tau di mbah dukun google, tapi gue yakin kalian udah pasti tau lah :))
Pertama kita set dulu file database.php supaya database & tabel yang udah kita buat bisa terkoneksi.
Kalau di php biasa kan begini: Buat konek ke mysql = mysql_connect("localhost","root","");
Pilih tabel yang akan dikoneksikan = mysql_select_db("nama_database");
Akan tetapi kalau di CodeIgniter pengaturannya ada di CodeIgniter_2.1.0\application\config\database.php
Lebih jelasnya liat di sini
Setelah itu jangan lupa untuk di-load file database.php nya, soalnya klo ga di-load ga akan jalan aplikasi yang berhubungan dengan database.
Cara nge-load-nya buka file autoload.php yang ada di CodeIgniter_2.1.0\application\config Pada line 55 ketikan 'database' di dalam array, lalu save.
Setelah itu bikin database-nya

CREATE TABLE IF NOT EXISTS `datapegawai` (
`nip` int(4) NOT NULL AUTO_INCREMENT,
`nama` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`kelamin` varchar(10) NOT NULL,
PRIMARY KEY (`nip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Kalau udah, buat suatu model di dalam direktori CodeIgniter_2.1.0\application\models

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

class M_karyawan extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    function get_data_karyawan()
    {
        $query = $this->db->get('datapegawai'); //ini artinya "SELECT * FROM datapegawai"
        return $query->result_array();
    }

}

/* End of file m_karyawan.php */
/* Location: ./application/models/m_karyawan.php */


Simpan dengan nama m_karyawan.php
Abis itu bikin view atau tampilannya di CodeIgniter_2.1.0\application\views

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Belajar</title>
</head>
<body>
<h1>Blog Willy</h1>
<form action="http://localhost/CodeIgniter_2.1.0/index.php/karyawan/insertkaryawan" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="400">
<tr>
<td>Nama Karyawan</td>
<td><input type="text" size="20" name="nama"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" size="20" name="email"></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>
<select name="kelamin">
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select>
</td>
</tr>
<tr><td>&nbsp;</td><td><input type="submit" value="submit"></td><tr>
</table>
</form>
<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" width="500">
<th>NIK</th>
<th>Nama Karyawan</th>
<th>Email</th>
<th>Jenis Kelamin</th>
<?php
foreach ($karyawan as $row) {
?>
<tr>
<td><?=$row['nip'];?></td>
<td><?=$row['nama'];?></td>
<td><?=$row['email'];?></td>
<td><?=$row['kelamin'];?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>


Simpan dengan nama list_karyawan.php

Namanya juga MVC (Model, View, Controller) abis dibikin model & view maka harus dibikin juga controller-nya

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

class Karyawan extends CI_Controller {

function __construct()
{
parent::__construct();
$this->load->model('m_karyawan');
}

function index()
{
$this->listkaryawan();
}

function listkaryawan()
{
$data['karyawan'] = $this->m_karyawan->get_data_karyawan(); //panggil fungsi get_data_karyawan() yg ada di model m_karyawan
$this->load->view('list_karyawan', $data);
}

function insertkaryawan()
{
if ($this->input->post('nama') == '') {
echo "<script type=\"text/javascript\">alert('Nama harus diisi.');
 window.location = \"http://localhost/CodeIgniter_2.1.0/index.php/karyawan\"</script>";
}
else if ($this->input->post('email') == '') {
echo "<script type=\"text/javascript\">alert('Email harus diisi.');
 window.location = \"http://localhost/CodeIgniter_2.1.0/index.php/karyawan\"</script>";
}
else {
$data_karyawan = array(
'nama' => $this->input->post('nama'),
'email' => $this->input->post('email'),
'kelamin' => $this->input->post('kelamin')
);
$insert = $this->db->insert('datapegawai', $data_karyawan);

if ($insert) {
header("location: http://localhost/CodeIgniter_2.1.0/index.php/karyawan");
}
}
}

}

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


Simpan dengan nama karyawan.php lalu simpan di CodeIgniter_2.1.0\application\controllers

Selesai deh, klo mau jalanin tinggal ketikan alamat ini di browser http://localhost/CodeIgniter_2.1.0/index.php/karyawan

Keterangan:

  • Model klo menurut gue adalah sesuatu yang berhubungan dengan query.
  • View klo menurut gue adalah sebuah hasil proses dari controller yang datanya ditampilan di view.
  • Controller klo menurut gue adalah sebuah class yang didalamnya terdapat banyak fungsi yang dimasing-masing fungsi terdapat proses.
  • Untuk semua file yang dibuat di Controller dan Model, nama filenya harus sama dengan nama class (nama class-nya diawali dengan huruf besar)

2 komentar: