CodeIgniter
adalah salah satu framework yang
dapat digunakan untuk membangun aplikasi web menggunakan PHP. Tujuan utamanya
adalah agar developer dapat bekerja
dengan cepat pada proyek yang dikerjakan daripada harus menulis kode dari awal.
CodeIgniter telah menyediakan library
yang untuk pekerjaan yang biasa dilakukan secara umum.
CodeIgniter
menggunakan pendekatan MVC (Model View Controller) yang berarti adanya
pemisahan antara logika aplikasi dan presentasinya kepada user.
Hal-hal
yang dibahas dalam tutorial ini adalah dasar penggunaan CodeIgniter.
Hal-hal yang perlu dipersiapkan untuk menggunakan
CodeIgniter adalah:
1.
CodeIgniter
CodeIgniter yang digunakan dalam
tutorial ini adalah CodeIgniter V 1.7.2
PHP version 4.3.2 atau yang lebih
baru
2.
Database
Database dibutuhkan untuk semua web
programming. Database yang didukung oleh CodeIgniter antara lain MySQL (4.1+),
MySQLi, MS SQL, Postgres, Oracle, SQLite, and ODBC. Dalam tutorial ini, kita
akan bekerja dalam localhost. Aplikasi yang dipakai dalam tutorial ini adalah XAMPP
1.7.7.
3.
Netbeans 7.1
Aplikasi ini digunakan sebagai IDE.
1. Buka
file config.php yang berada pada
direktori config. Kemudian isi array $config[‘base_url’]
dengan http://localhost/namaProject.
$config[‘base_url’]
berguna untuk menetapkan halaman load
utama.
2.
Buka file routes.php yang berada pada direktori config. Kemudian isi array $route[‘default_controller’]
dengan nama file controller yang kamu
buat (misalkan nama file controller
tersebut adalah ‘province’).
3. Buka
file database.php yang terdapat pada
direktori config. Kemudian isi $db[‘default’][‘hostname’]
dengan lokasi kerja anda. Karena tidak bekerja menggunakan client server, lokasi kerja anda adalah localhost.
Isi array $db[‘default’][‘username’]
dengan username phpmyadmin anda (misalkan username yang digunakan adalah root).
Isi array $db[‘default’][‘password’] dengan password
yang digunakan pada phpmyadmin.
Isi array $db[‘default’][‘database’] dengan
nama database yang digunakan (misalkan nama database yang digunakan adalah provincecity).
4.
Buka file autoload.php yang berada pada
direktori config. Kemudian isi array
$autoload[‘libraries’] dengan library yang akan anda gunakan
(diasumsikan library yang digunakan
adalah database).
Isi array $autoload[‘model’]
dengan model yang akan digunakan pada saat pembuatan aplikasi web (misalkan
naam model adalah CityModel).
Model adalah kelas PHP yang
didesain untuk bekerja dengan informasi dalam database. Kelas ini dapat digunakan untuk memasukkan, update, dan memperoleh data menggunakan query atau menggunakan library yang telah disediakan
CodeIgniter.
Secara sederhana, view adalah suatu
halaman web, atau suatu fragmen halaman
web seperti header, footer, sidebar, dll. View tidak pernah dipanggil secara
langsung, harus di-load oleh suatu
controller.
Controller adalah jantung dari
aplikasi yang dibangun. Secara sederhana, controller adalah suatu class file yang dinamai sehingga dapat
diasosiasikan dengan URI. Sebagai informasi, URI (Uniform Resource Identifier)
mengidentifikasikan resource berdasarkan lokasi, atau nama, atau keduanya.
Misalnya: example.com/index.php/blog/.
1.3.1 Menampilkan Data Dalam Tabel
Ikutilah langkah-langkah berikut
untuk menampilkan data dalam table.
1.
Buat file baru dengan nama file yang
sesuai dengan isi array $autoload[‘model’] pada file autoload.php. Nama yang
digunakan adalah CityModel. File model harus berada dalam direktori models.
Isi dari file CityModel.php adalah sebagai berikut
ini:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
|
class
CityModel extends Model{
function CityModel(){
parent :: Model();
}
function getCity(){
$sql = 'select * from mst_city';
$query =
$this->db->query($sql);
if($query->num_rows == 0){
return null;
}else{
return $query->result();
}
}
}
|
Kelas CityModel harus meng-extends class Model. Fungsi CityModel()
merupakan konstruktor yang memanggil semua fungsi yang ada dalam class Model.
Fungsi getCity() berfungsi untuk mengambil semua data
dari table mst_city. Query $query =
$this->db->query($sql); berfungsi untuk megeksekusi query $sql.
Potongan kode return
$query->result();
berfungsi mengembalikan hasil query
dalam bentuk array.
- Buat file baru dengan nama file yang sesuai pada nama controller yang sudah anda definisikan pada file routes.php. Pada konfigurasi di atas, nama controller yang digunakan adalah ‘province’. File controller harus berada pada direktori controller.
Isi dari file province.php adalah
sebagai berikut:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
|
class
Province extends Controller{
function Province(){
parent::Controller();
}
function index(){
$data['title'] = ' - Training
[Show City]';
$data['city']=$this->CityModel->getCity();
$this->load->view('show_data',$data);
}
}
|
Ketika aplikasi pertama kali
dijalankan, fungsi index()
adalah fungsi yang pertama kali di-load.
Kelas Province harus meng-extends kelas Controller.
Fungsi Province merupakan konstruktor
yang memanggil semua fungsi yang ada pada kelas Controller.
Pada fungsi index()
terdapat potongan kode $data[‘city’] =
$this->CityModel->getCity(); yang berfungsi untuk
menjalankan fungsi fungsi getCity() yang terdapat
pada kelas CityModel. Kembalian dari
fungsi tersebut ditampung dalam sebuah variabel array yang bernama $data[‘city’].
Pada fungsi index terdapat kode $this->load->view(‘show_data’,$data);
yang berarti ketika aplikasi dijalankan, apa yang akan ditampilkan diatur oleh
file show_data.php yang terdapat
pada direktori view. Parameter $data pada potongan
kode tersebut berarti variabel array $data[] telah dikirimkan ke view yang akan di-load.
- Buatlah file view sesuai dengan nama view yang di-load oleh controller (show_data). File ini harus diletakkan dalam direktori views.
Untuk menampilkan semua data yang telah diambil pada saat
mendefenisikan file model dan controller dapat dilakukan dengan kode berikut
ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
|
<html>
<body>
<div
id="index">
<table
id="mainTable" align="center" CELLPADDING=0 CELLSPACING=0 border="0" width="1000">
<tr>
<td width="1000"
colspan="3" align="left" id="rightPart"
style="vertical-align: top;padding-right: 40px">
<?
echo "<table border=1 width=100% id='tabel'>";
echo "<tr>";
echo "<th align='center' width='70'>ID
City</th>";
echo "<th align='center' width='70'>ID
Province</th>";
echo "<th align='center' width='120'>City
Name</th>";
echo "</tr>";
if($city !=null){
foreach($city as $row){
echo
"<tr>";
echo "<td>".$row->id_city."</td>";
echo "<td>".$row->id_province."</td>";
echo "<td>".$row->cityname."</td>";
echo "<td
align=center>";?>
echo "</tr>";
}
?>
</td>
</tr>
</table>
</div>
</body>
</html>
|
Keterangan :
·
if($city
!=null){
variable $city di dapat dari variable array
penampung pada saat pembuatan file controller. Lihat pada potongan kode yang telah
di buat di controller berikut :
$data['city']=$this->CityModel->getCity();
Maka akan di periksa apakah isi dari table dengan spesifikasi yang telah
di tentukan pada query yang dibuat ada atau tidak.
·
foreach($city as $row){
Fungsi dari potongan kode diatas yaitu mengeluarkan semua isi array $city dan ditampung pada variable $row.
·
echo "<td>".$row->id_city."</td>";
Fungsi dari potongan kode diatas yaitu menampilkan data pada
field id_city.
·
echo "<td>".$row->id_province."</td>";
Fungsi dari potongan kode diatas yaitu menampilkan data pada
field id_province.
·
echo "<td>".$row->cityname."</td>";
Fungsi dari potongan kode diatas yaitu menampilkan data pada
field cityname.
4.
Hasil yang didapatkan dari
implementasi kode di atas adalah:
1.3.2 Menghapus Data
Ikutilah langkah-angkah berikut ini
untuk melakukan pengahpusan data.
1.
Bukalah file dalam direktori model yang
telah dibuat sebelumnya. Kemudian tambahkan kode di bawah ini.
1.
2.
3.
4.
|
function deleteCity($id_city){
$this->db->where('id_city',$id_city);
$this->db->delete('mst_city');
}
|
Keterangan
:
·
Fungsi yang ditambahkan dalam file tersebut disebut deleteCity($id_city). $id_city adalah
parameter fungsi tersebut.
·
$this->db->where('id_city',$id_city);
Potongan
kode diatas merupakan library yang
sudah disediakan CodeIgniter
untuk menetapkan kondisi. Kode ini sama artinya
dengan “Where” pada query database biasa. Parameter pertama berisi field database
yang akan di kondisikan, kemudian parameter yang kedua berisi value.
·
$this->db->delete('mst_city');
Potongan
kode diatas berfungsi untuk menghapus data dari table mst_city.
2. Buka file controller yang telah dibuat sebelumnya.
Kemudian tambahkan kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
|
function hapus_City($id_city){
$this->CityModel->deleteCity($id_city);
redirect(‘province/tampilkan_City’);
}
function tampilkan_City(){
$data[‘city’] =
$this->CityModel->getCity();
$this->load->view(‘show_data’, $data);
}
|
Keterangan:
·
Fungsi yang
ditambahkan dalam file tersebut adalah hapus_City($id_city). $id_city adalah parameter fugsi tersebut.
·
$this->CityModel->deleteCity($id_city);
Potongan
kode diatas berfungsi untuk memanggil fungsi deleteCity($id_city)
yang berada pada class
CityModel.
·
redirect('province/tampilkan_City');
Potongan
kode diatas berfungsi untuk memanggil
fungsi tampilkan_City() yang
berada pada class Province.
·
Fungsi tampilkan_City() merupakan fungsi yang
memiliki tugas yang sama dengan fungsi index() yaitu me-load
file show_data.php.
3. Tambahkan link hapus pada file show_data.php. Lihat potongan kode di bawah ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
|
<html>
<body>
<div id="index">
<table >
<tr>
<td >
<?
echo "<table border=1
width=100% id='tabel'>";
echo "<tr>";
echo "<th align='center'
width='70'>ID City</th>";
echo "<th align='center'
width='70'>ID Province</th>";
echo "<th align='center'
width='120'>City Name</th>";
echo "<th align='center'
width='70'>Action</th>";
tr>";
if($city
!=null){
foreach($city as $row){
echo
"<tr>";
echo
"<td>".$row->id_city."</td>";
echo
"<td>".$row->id_province."</td>";
echo
"<td>".$row->cityname."</td>";
<a href=' <?=base_url()?>
index.php/hapus_City/
<?=$row->id_city;?>'>
<div>Hapus</div></font></a> </td>
echo
"<td align=center>";?>
echo
"</tr>";
} ?>
</td>
</tr>
</table>
</div>
</body>
</html>
|
Keterangan:
<a href=' <?=base_url()?> index.php/hapus_City/ <?=$row->id_city;?>'>
<div>Hapus</div></font></a> </td>
Potongan kode diatas
berfungsi untuk menampilkan link hapus pada view.
Fungsi base_url() merupakan url utama. index.php/hapus_City/ befungsi untuk
memanggil fungsi hapus_City() pada file controller. $row->id_city berfungsi sebagai nilai parameter yang dibutuhkan fungsi hapus_City() , dimana nilai nya diambil dari field
id_city pada tabel mst_city.
4.
Maka hasil yang
akan didapatkan adalah sebagai berikut ini.
1.3.3 Memasukkan Data Kedalam Database
Untuk
memasukkan data ke dalam database, ikutilah langkah-langkah berikut ini:
1.
Untuk menambahkan data kota ke dalam
tabel mst_city, kamu perlu membuat satu button
untuk membuka form penambahan data. Perhatikanlah kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
|
<html>
<head>
<title>Training<? echo $title;
?></title>
</head>
<body>
<table>
<tr>
<td
width="1000">
<?
echo "<table
width=100%>";
echo "<tr><td> <a
href='".base_url()."index.php/province/tambah_City'><button>Tambah
City</button></a></td></tr>";
echo
"</table>";
echo "<table
border=1 width=100%
id='tabel'>";
echo
"<tr>";
echo "<th
align='center' width='70'>ID City</th>";
echo "<th
align='center' width='70'>ID Province</th>";
echo "<th
align='center' width='120'>City Name</th>";
echo "<th
align='center' width='70'>Action</th>";
echo
"</tr>";
…
…
|
Keterangan:
Bagian yang berwarna merah adalah
kode yang menciptakan tombol yang akan mengeksekusi fungsi tambah_city()
yang terdapat dalam file province.php.
Hasil yang didapatkan setelah kode
tersebut di eksekusi ditunjukkan oleh gambar berikut.
Untuk memasukkan data baru ke dalam
database, buatlah suatu form yang
berguna untuk memudahkan user untuk
memasukkan data. Berikut ini adalah kode yang digunakan untuk membuat form insert dalam tutorial ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
|
<html>
<head>
<title>Toko Baju<? echo $title;
?></title>
</head>
<body>
<table>
<tr>
<td>
<form
method="POST" action="<?php echo
base_url()?>index.php/province/tambah_City">
<table border="0"
align ="left" style="border:#6699ff 1px solid;
padding:10px; border-radius: 7px 7px
7px 7px">
<tr>
<td colspan
="2"><b>Form Penambahan City</b></td>
</tr>
<tr>
<td colspan
="2"align="right">
<font
color="#f00">
<?if
($this->session->flashdata('notification')) {
echo
$this->session->flashdata('notification');
}?>
</font></td>
</tr>
<tr>
<td
colspan="2" style="border-top:#6699ff 2px
solid;"></td>
</tr>
<tr>
<td
style="vertical-align: top">
<label for="id_city">ID
City</label>
</td>
<td>
<input type="text"
size="45" name="id_city" id="text-field"
placeholder="Masukkan Id City"></input>
</td>
</tr>
<tr>
<td
width="150">
<label
for="id_province">Id Province</label>
</td>
<td
width="150">
<select
name="id_province">
<?php
foreach($province as $row){
echo
"<option size='25'
value='".$row->id_province."'>".$row->id_province."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td
style="vertical-align: top">
<label
for="cityname">City Name</label>
</td>
<td>
<input type="text"
size="45" name="cityname" id="text-field"
placeholder="Masukkan nama kota"></input>
</td>
</tr>
</tr>
<tr align="center">
<td
colspan="2" style="border-top:#6699ff 2px solid;"
height="40">
<button type="submit"
class="ui-button ui-widget ui-state-default ui-corner-all
ui-button-text-only" role="button"
aria-disabled="false">
<span
class="ui-button-text">Tambah</span>
</button>
</td>
</tr>
</table>
</body>
</html>
|
Hasil pengeksekusian kode tersebut
dapat dilihat pada gambar berikut.
2.
Pada file CityModel.php yang terdapat dalam direktori models, tambahkanlah
kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
|
function
getProvince(){
$sql = 'select * from mst_province';
$query = $this->db->query($sql);
if($query->num_rows == 0){
return null;
}else{
return $query->result();
}
}
|
Fungsi ini berguna untuk mengambil
semua data yang terdapat dalam tabel mst_province.
Pada file dan direktori yang sama
juga, tambahkan lagi kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
|
function
checkCity($id_city){
$sql
= "select * from mst_city";
$sql .= " where id_city =
'$id_city'";
$query = $this->db->query($sql);
if($query->num_rows() == 1){
return true;
}else{
return false;
}
}
|
Fungsi ini berguna untuk memeriksa
apakah kota yang ditambahkan sudah ada sebelumnya. Apabila kota yang
ditambahkan sudah ada, fungsi ini akan mengembalikan true dan akan mengembalikan false
jika sebaliknya.
Tambahkan
juga kode berikut ini pada file dan direktori yang sama.
1.
2.
3.
4.
5.
|
function
addCity($id_city, $id_province, $cityname){
$sql = array ('id_city '=>$id_city
,'id_province' =>$id_province,' cityname'=>$cityname);
$this->db->insert('mst_city',$sql);
}
|
Fungsi addCity($id_city, $id_province,
$cityname) tersebut berguna untuk memasukkan data ke dalam
tabel mst_city. Parameter $id_city
menampung kode kota yang dimasukkan, $id_province menampung kode provinsi yang
dimasukkan, dan $cityname
menampung nama kota yang dimasukkan. Variabel $sql adalah array yang menampung nilai semua
parameter dalam fungsi tersebut. $this->db->insert('mst_city',$sql);
adalah
perintah yang memasukkan nilai array $sql ke dalam tabel mst_city.
3.
Pada file province.php yang terdapat dalam direktori controllers, tambahkan
lah kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
|
function
tambah_City(){
$data['title'] = " - Tambah
City";
$data['province'] =
$this->CityModel->getProvince();
$this->form_validation->set_rules ('id_city',
'required|trim |max_length[20]|css_clean');
$this->form_validation->set_rules('id_province',
'required| trim |max_length[20]|css_clean');
$this->form_validation->set_rules('cityname', 'required |trim|
max_length[20]|css_clean');
if($this->form_validation->run() == FALSE){
$this->session->set_flashdata('notification','Data
Tidak Boleh Kosong');
$this->load->view("addCity", $data);
}else{
if
($this->CityModel->checkCity($this->input->post ('id_
city'))==true){
$this->session->set_flashdata('notification','Id City tidak
valid');
$this->load->view("addCity", $data);
}
else{
$this->CityModel->addCity($this->input->post('id_city')
,$this->input->post('id_province'),$this->input->post('cityname'));
redirect("province/tampilkan_City");
}
}
}
|
Keterangan:
Kode yang berwarna merah adalah
kode yang mengatur validasi nilai yang dimasukkan user. Field yang disediakan tidak boleh kosong dan jumlah karakter
yang bisa dimasukkan adalah 20 karakter. Berikut ini adalah field yang
disediakan.
Kode yang berwarna biru berarti
bahwa apabila kondisi form validasi yang telah disebutkan tidak terpenuhi,
suatu notifikasi akan dimunculkan kepada user.
Kode yang berwarna hijau berarti
bahwa apabila kode city yang
dimasukkan user salah, suatu nontifikasi akan diberikan kepada user yang menandakan bahwa id city yang dimasukkan salah. Dan file addCity.php yang berada dalam direktori
views akan di-load.
Kode yang berwarna coklat akan
dieksekusi apabila semua kondisi untuk memasukkan nilai city telah terpenuhi. Kode tersebut adalah kode yang akan
memasukkan nilai city ke dalam tabel berdasarkan query yang ada pada fungsi addcity()
yang ada dalam file CityModel.php.
Setelah itu, semua data akan ditampilkan kepada user sesuai dengan fungsi tampilkan_City() yang berada dalam file province.php.
1.3.4 Mengubah Data
Untuk mengubah data yang ada dalam database,
ikutilah langkah-langkah berikut ini.
1.
Untuk mengubah data, terlebih dahulu
kita perlu menyedikan suatu link yang akan mengarahkan user ke form untuk
mengubah data. Perhatikanlah kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
|
<html>
…
…
if($city !=null){
foreach($city as $row){
echo
"<tr>";
echo
"<td>".$row->id_city."</td>";
echo
"<td>".$row->id_province."</td>";
echo
"<td>".$row->cityname."</td>";
echo "<td
align=center>";
?> <a
href='<?=base_url() ?> index.php/province/ubah_City/<?=$row->id_city;?>'><div>Ubah</div></a>
<a
href='<?=base_url()?>index.php/province/hapus_City/<?=$row->id_city;?>'<div>Hapus</div></a>
<a
href='<?=base_url()?>index.php/province/tampilkan_City'></a>
<?php
echo
"</tr>";
}
}
echo
"</table>";
?>
</table>
</body>
</html>
|
Potongan kode diatas adalah bagian
dari file show_data.php yang
terdapat dalam direktori views. Bagian yang berwarna merah berfungsi untuk
membuat link kepada form untuk mengubah data. Salinlah kode yang berwarna merah
di atas dan anda akan mendapatkan hasil seperti gambar berikut ini.
Selanjutnya perlu dibuat suatu form
untuk mengubah data. Berikut ini adalah kode yang digunakan untuk membuat form
untuk mengubah data. Copy lah file
berikut dan letakkan dalam satu file baru bernama ubahCity.php.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
|
<html>
<body>
<table id="mainTable"
align="center" CELLPADDING=0 CELLSPACING=0
border="0"
width="1000">
<tr>
<td >
<table
border="1" align="center" style="border:#aeaeae 1px
solid; padding:20px; border-radius:
8px 8px 8px 8px">
<tr>
<td colspan
="2" align="center">
<?php
foreach($cityid as $row){
echo
form_hidden('id_city', $row->id_city);
}?>
Ubah City
</td>
</tr>
<tr>
<td>
<? foreach
($cityid as $kat){
echo
form_open(base_url().'index.php/province/Ubah_City/'.$kat->id_city);
}?>
Id City
</td>
<td>
<select
name="kota">
<?php
foreach($city as $rows){
if($rows->id_city == $row->id_city)
echo "<option size='25'
selected='selected'
value='".$rows->id_city."'>".$rows->id_city."</option>";
else
echo "<option size='25'
value='".$rows->id_city."'>".$rows->id_city."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>
Id Province
</td>
<td>
<select
name="provinsi">
<?php
foreach($city as $rows){
if($rows->id_province
== $row->id_province)
echo "<option size='25'
selected='selected'
value='".$rows->id_province."'>".$rows->id_province."</option>";
else
echo "<option size='25'
value='".$rows->id_province."'>".$rows->id_province."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>
City Name
</td>
<td>
<input type ="text"
name="cityname" value="<? foreach ($cityid as $kat){echo
$kat->cityname;}?>"></input>
</td>
</tr>
<tr>
<td>
<?echo validation_errors();?>
<div><? echo
form_submit(array('id'=>'submit','name'=>'submit'),'Update');?></div>
<? echo form_close();?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
|
Hasil
dari eksekusi kode di atas dapat dilihat pada gambar berikut ini.
2.
Tambahkanlah
kode berikut ini pada file show_data.php yang terdapat dalam
direktori models.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
|
function
getCity(){
$sql = 'select * from mst_city';
$query =
$this->db->query($sql);
if($query->num_rows == 0){
return null;
}else{
return $query->result();
}
}
function getCityId($cityid){
$sql = 'select * from mst_city';
$sql .= " where id_city
='$cityid'";
$query =
$this->db->query($sql);
if($query->num_rows == 0){
return null;
}else{
return $query->result();
}
}
|
Kedua fungsi yang diberikan diatas
berfungsi untuk mengambil nilai yang tersimpan dalam tabel mst_city. Fungsi getCity()
berguna untun mengambil semua nilai dalam tabel mst_city tanpa terkecuali.
Sedangkan fungsi getCityId($cityid)
berguna untuk mengambil nilai city berdasarkan id yang dispesifikkan oleh
parameter $cityid.
3.
Pada controller, province.php, tambahkanlah kode berikut ini.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
|
function
toUbahCity($cityid){
$data['city']=$this->CityModel->getCity();
$data['cityid'] =
$this->CityModel->getCityId($cityid);
$this->load->view('ubahCity',$data);
}
function ubah_City($id_city){
$this->db->where('id_city',$id_city);
$this->db->update('mst_city',array('id_city'=>$this->input->post('kota'),'id_province'=>$this->input->post('provinsi'),'cityname'=>$this->input->post('cityname')));
redirect('province/tampilkan_City');
}
|
Fungsi yang pertama kali di-load ketika link ubah diklik adalah fungsi toUbahCity($cityid).
Fungsi ini berguna untuk me-load form
untuk mengubah data.
Fungsi ubah_city($id_city)
adalah fungsi yang akan mengubah nilai city berdasarkan id tertentu yang
dispesifikkan oleh parameter $id_city. Setelah itu
hasilnya akan ditampilkan kepada pengguna dengan mengeksekusi fungsi tampilkan_City()
yang berada dalam file province.php.
pak, bisa buatkan saya tutorial lengkap dari dasar-lanjut tentang membuat aplikasi CRUD berbasis web responsive (bootstrap & codeigniter) mengunakan PHP & PostgreSQL?
BalasHapusSaya ingin belajar, jika tutorialnya pak cocok buat saya, saya bersedia membeli turorial tersebut.
Eddy, 0823 020 73513