Step-1
: Menggunakan Bootstrap
pada CodeIgniter
.
Step-2
: Database mysql test
dengan nama tabel mahasiswa
:
CREATE TABLE `mahasiswa` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`namamhs` varchar(30) NOT NULL,
`kelas` varchar(10) NOT NULL,
`alamat` varchar(100) NOT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Step-3
: Koneksi CI ke MYSQL. Buka file database.php
di folder application/config
.
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'test',
Step-4
: Konfigurasi URL Homebase. Edit config.php
di folder application/config
.
$config['base_url'] = 'http://localhost/latih1/';
Step-5
: Membuat MODEL
di CI.
- Buat file
Mahasiswa_model.php
di folder application/models
.
- Perhatikan bahwa huruf pertama nama model harus dalam huruf CAPITAL.
- Nama model disesuaikan dengan nama
tabel
atau objek
untuk mudah dipahami.
<?php
class Mahasiswa_model extends CI_Model {
function __construct(){
parent::__construct();
$this->load->database();
}
public function getAllMahasiswa(){
$query = $this->db->get('mahasiswa');
return $query->result();
}
public function insertMahasiswa($mahasiswa){
return $this->db->insert('mahasiswa', $mahasiswa);
}
public function getMahasiswa($id){
$query = $this->db->get_where('mahasiswa',array('id'=>$id));
return $query->row_array();
}
public function updateMahasiswa($mahasiswa, $id){
$this->db->where('mahasiswa.id', $id);
return $this->db->update('mahasiswa', $mahasiswa);
}
public function deleteMahasiswa($id){
$this->db->where('mahasiswa.id', $id);
return $this->db->delete('mahasiswa');
}
}
?>
Step-6
: Membuat Controller
di CI
- Buat file
Mahasiswa.php
di folder application/controllers
.
- Perhatikan penamaan file, sama seperti nama
model
diawali huruf CAPITAL.
- Digunakan untuk mengatur aplikasi pada data mahasiswa.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mahasiswa extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('mahasiswa_model');
}
public function index(){
$data['mahasiswa'] = $this->mahasiswa_model->getAllMahasiswa();
$this->load->view('mahasiswa_list.php', $data);
}
public function addnew(){
$this->load->view('addmahasiswa.php');
}
public function insert(){
$mahasiswa['namamhs'] = $this->input->post('namamhs');
$mahasiswa['kelas'] = $this->input->post('kelas');
$mahasiswa['alamat'] = $this->input->post('alamat');
$query = $this->mahasiswa_model->insertMahasiswa($mahasiswa);
if($query){
header('location:'.base_url().$this->index());
}
}
public function edit($id){
$data['mahasiswa'] = $this->mahasiswa_model->getMahasiswa($id);
$this->load->view('editmahasiswa.php', $data);
}
public function update($id){
$mahasiswa['namamhs'] = $this->input->post('namamhs');
$mahasiswa['kelas'] = $this->input->post('kelas');
$mahasiswa['alamat'] = $this->input->post('alamat');
$query = $this->mahasiswa_model->updateMahasiswa($mahasiswa, $id);
if($query){
header('location:'.base_url().$this->index());
}
}
public function delete($id){
$query = $this->mahasiswa_model->deleteMahasiswa($id);
if($query){
header('location:'.base_url().$this->index());
}
}
}
?>
Step-8
: Mengatur ROUTE
di CI. Edit routes.php
di folder application/config
.
$route['default_controller'] = 'mahasiswa';
Step-9
: Membuat VIEW
sesuai Controller pada Step-6
. Buka folder application/views
.
- Buat file :
mahasiswa_list.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="page-header text-center">CRUD Data Mahasiswa</h1>
<a href="<?php echo base_url(); ?>index.php/mahasiswa/addnew" class="btn btn-primary">
<span class="glyphicon glyphicon-plus"></span> Add New</a><br><br>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>ID</th>
<th>Nama Mahasiswa</th>
<th>Kelas</th>
<th>Alamat</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
foreach($mahasiswa as $mhs){
?>
<tr>
<td><?php echo $mhs->id; ?></td>
<td><?php echo $mhs->namamhs; ?></td>
<td><?php echo $mhs->kelas; ?></td>
<td><?php echo $mhs->alamat; ?></td>
<td><a href="<?php echo base_url(); ?>index.php/mahasiswa/edit/<?php echo $mhs->id; ?>" class="btn btn-success">
<span class="glyphicon glyphicon-edit"></span> Edit</a> ||
<a href="<?php echo base_url(); ?>index.php/mahasiswa/delete/<?php echo $mhs->id; ?>" class="btn btn-danger">
<span class="glyphicon glyphicon-trash"></span> Delete</a></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</body>
</html>
- Buat file :
addmahasiswa.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="page-header text-center">CRUD Data Mahasiswa</h1>
<h3>Add Form
<span class="pull-right"><a href="<?php echo base_url(); ?>" class="btn btn-primary"><span class="glyphicon glyphicon-arrow-left"></span> Back</a></span>
</h3>
<hr>
<form method="POST" action="<?php echo base_url(); ?>index.php/mahasiswa/insert">
<div class="form-group">
<label>Nama Mahasiswa:</label>
<input type="text" class="form-control" name="namamhs">
</div>
<div class="form-group">
<label>Kelas:</label>
<input type="text" class="form-control" name="kelas">
</div>
<div class="form-group">
<label>Alamat:</label>
<input type="text" class="form-control" name="alamat">
</div>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> Simpan </button>
</form>
</div>
</body>
</html>
- Buat file :
editmahasiswa.php
, COPY-PASTE dari addmahasiswa.php
, lalu edit
:
<h3>Edit Form
...
<?php extract($mahasiswa); ?>
<form method="POST" action="<?php echo base_url(); ?>index.php/mahasiswa/update/<?php echo $id; ?>">
...
<input type="text" class="form-control" value="<?php echo $namamhs; ?>" name="namamhs">
...
<input type="text" class="form-control" value="<?php echo $kelas; ?>" name="kelas">
...
<input type="text" class="form-control" value="<?php echo $alamat; ?>" name="alamat">
...
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> Update </button>