Anda di halaman 1dari 27

Membina Aplikasi Web Dengan CodeIgniter

1st Edition (Dapatkan segera, akan terbit di pasaran gelap tidak lama lagi..) Dengan Menggunakan Framework PHP Yang Popular Sebuah Panduan Membangunkan Aplikasi Web

oleh Rusmaini B. Miftah


www.rusmaini.com

Membina Aplikasi Web Dengan CodeIgniter

Pengenalan
Apa itu CodeIgniter
CodeIgniter merupakan sebuah framework aplikasi web yang telah dibangunkan dengan bersifat sumber terbuka dan boleh digunakan secara percuma. Ia dibangunkan bertujuan membantu para pembangun laman web menghasilkan aplikasi dengan lebih pantas dan mempunyai struktur fail yang lebih tersusun dan mudah difahami oleh pembangun yang lain. CodeIgniter menggunapakai konsep Model-View-Controller..

Apa itu MVC


Model Apa dia Model? View Apa dia View? Controller Apa dia Controller?

Kenapa memilih CodeIgniter Keperluan sebagai seorang pembangun web Apa kandungan dalam buku ini Mematuhi Piawai & Kesepakatan
Setiap Model mewakili satu table Jika menggunakan Bahasa Inggeris, nama Model adalah singular dan nama table adalah plural Nama Class mesti dimulai dengan huruf besar Penamaan Class & Method yang seragam Contoh nama: get_file_properties() //underscore_case lebih mudah dibaca Contoh nama: getFileProperties() // camelCase lebih nampak elegen Jadi buat pilihan anda dan seragamkan. Setiap table wajib mempunyai kolum id Setiap table juga wajib mempunyai dua medan ini, created_at dan updated_at

Membina Aplikasi Web Dengan CodeIgniter

BAB 1 Pemasangan

Membina Aplikasi Web Dengan CodeIgniter

BAB 1 Pemasangan
Apa yang akan diterangkan dalam bab ini? Cara memuatturun CI Cara memasang CI Membina antaramuka pertama

Muatturun
Fail CodeIgniter (CI) boleh dimuatturun melalui laman web http://codeigniter.com.

Pemasangan
Apa yang perlu ada sebelum kita teruskan? Komputer anda mesti tersedia dengan perisian web server (apache, tomcat atau IIS), pangkalan data (MySQL atau Oracle) dan PHP. Cara yang mudah, gunakan pakej perisian seperti Wampserver, XAMPP atau sebagainya. Unzip fail CodeIgniter_2.1.2.zip dan pindahkan ke folder htdocs/. Rename fail tadi kepada htdocs/myci Buka pelayar internet (browser) anda dan taipkan URL http://localhost/myci Anda akan perolehi paparan default CI.

Apa yang perlu dilakukan untuk memasang CI di komputer anda?

Membina antaramuka pertama


Contoh menghasilkan antaramuka kita sendiri yang pertama. Proses ini akan melibatkan dua daripada 3 komponen utama daam CI iaitu View dan Controller.

Bina View
Bagaimana cara menghasilkan view? Bina folder myci/application/views/utama Bina fail baru myci/application/views/utama/selamatdatang.php Buka fail tersebut dan masukkan kandungannya seperti berikut:

<h1>Selamat Datang!</h1> <h2>Ini adalah projek CI pertama saya.</h2> <p>CI world!</p>

Membina Aplikasi Web Dengan CodeIgniter

Bina Controllers
Bagaimana cara menghasilkan Controller? Bina fail baru myci/application/controllers/utama.php Buka fail tersebut dan masukkan kandungannya seperti berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Utama extends CI_Controller { function index() { $this->load->view('utama/selamatdatang'); } } /* End of file utama.php */ /* Location: ./application/controllers/utama.php */

Lihat hasilnya melalui browser http://localhost/myci/index.php/utama

Rajah 1 Perhatikan baris kod ini, $this->load->view('utama/selamatdatang'); ia bertindak memanggil kandungan di dalam fail selamatdatang.php untuk dipaparkan kepada pengguna melalui browser.

Membina Aplikasi Web Dengan CodeIgniter

Menjadikan URL lebih efisyen (ringkas & kemas)


Apabila kita hendak mencapai sesuatu modul di dalam sistem yang hendak dibangukan, kita akan menggunakan URL seperti ini http://localhost/myci/index.php/utama. Tetapi ada cara di mana URL tersebut boleh dipendekkan dengan membuang index.php. Walau bagaimanapun, ia perlu mematuhi 2 syarat iaitu: Make sure your apache has mode_rewrite activated Make sure apache accepts needed .htaccess directives

Ikuti langkah berikut untuk menjadikan URL aplikasi yang kita bangunkan supaya kelihatan lebih efisyen & elegen: Bina fail htdocs/myci/.htaccess Masukkan kandungan fail:

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /myci/ #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, #previously this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] #When your application folder isn't in the system folder #This snippet prevents user access to the application folder #Submitted by: Fabdrol #Rename 'application' to your applications folder name. RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule> <IfModule !mod_rewrite.c> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php </IfModule>

Buka fail myci/application/config/config.php Cari kod aturcara $config['index_page'] = 'index.php'; atau pergi ke baris 29. Padamkan 'index.php' menjadi $config['index_page'] = '';

Membina Aplikasi Web Dengan CodeIgniter

Menjadikan base_url lebih fleksibel


Buka fail myci/application/config/config.php Cari kod aturcara $config['base_url'] = ''; atau pergi ke baris 17. Gantikan baris tersebut kepada:

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); $config['base_url'] .= "://".$_SERVER['HTTP_HOST']; $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"", $_SERVER['SCRIPT_NAME']);

Membina Aplikasi Web Dengan CodeIgniter

Memilih default Controller


Sekarang, kita akan jadikan 'utama' sebagai default Controller. Apabila anda menaip URL http://localhost/myci pada browser, CI akan bawa anda terus ke paparan 'Selamat Datang!' dalam Controller 'utama' yang telah kita hasilkan tadi. Buka fail myci/application/config/routes.php Pada baris ke-41, gantikan 'welcome' kepada 'utama' seperti contoh di bawah:

$route['default_controller'] = "utama";

Sekarang, apabila anda menaip URL http://localhost/myci tanpa '/utama', anda akan terus di bawa ke paparan 'Selamat Datang!'.

Latihan
Dalam masa 5 minit, bina satu paparan baru yang menyatakan 'Terima Kasih' kepada pengunjung laman web anda.

Membina Aplikasi Web Dengan CodeIgniter

BAB 2 Sambungan Ke Pangkalan Data

Membina Aplikasi Web Dengan CodeIgniter

BAB 2 Sambungan Ke Pangkalan Data


Apa yang akan diterangkan dalam bab ini? Cara membina pangkalan data Apa yang perlu dilakukan untuk membuat sambungan ke pangkalan data Cara memaparkan data kepada pengguna

Membina Pangkalan Data


Sebelum kita dapat menyimpan data, kita perlu membina terlebih dahulu pangkalan data bagi maklumat yang akan disimpan. Oleh itu, anda perlu bina satu pangkalan data berkaitan aplikasi yang hendak dibangunkan. Kita akan menggunakan phpMyAdmin seabagai alat untuk mencipta pangkalan data baru beserta table yang terlibat. Buka phpMyAdmin melalui browser http://localhost/phpMyAdmin/ Masukkan nama pangkalan data anda pada item Create new database 'myci_kursus' dan klik pada butang create Kemudian anda perlu wujudkan table, masukkan nama table anda pada item Create new table on database myci_kursus Name peserta dan Number of fields 10 Kemudian masukkan setiap medan yang diperlukan seperti berikut:

CREATE TABLE `peserta` ( `id` int(11) NOT NULL AUTO_INCREMENT, `no_kp` varchar(15) DEFAULT NULL, `nama_penuh` varchar(255) DEFAULT NULL, `emel` varchar(255) DEFAULT NULL, `no_telefon` varchar(12) DEFAULT NULL, `jawatan` varchar(255) DEFAULT NULL, `majikan` varchar(255) DEFAULT NULL, `status` char(1) DEFAULT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Ataupun, anda boleh run skrip SQL di atas dalam phpMyAdmin pada menu tab SQL. Copy and paste skrip di atas ke ruangan yang disediakan dan klik butang Go

10

Membina Aplikasi Web Dengan CodeIgniter

Sambungan Ke Pangkalan Data Dari CI


Buka fail myci/application/config/database.php Pada baris ke-52 hingga ke-54, anda akan perolehi kod seperti di bawah dan anda perlu masukkan maklumat yang diperlukan yang masih kosong sama seperti dengan yang telah disediakan di bawah ini:

$db['default']['username'] = 'root'; $db['default']['password'] = 'root'; $db['default']['database'] = 'myci_kursus';

Buka fail myci/application/config/autoload.php Pada baris ke-55, masukkan 'database' pada ruang kosong supaya sama seperti di bawah:

$autoload['libraries'] = array('database');

Refresh aplikasi anda di browser untuk semak sama terdapat ralat pada sambungan ke pangkalan data yang telah dilakukan. Anda akan menerima mesej 'Unable to connect to your database server using the provided settings' sekiranya terdapat kesilapan pada maklumat yang diberikan di dalam fail database.php Jika tidak, bermakna sambungan aplikasi anda ke pangkalan data telah berjaya

11

Membina Aplikasi Web Dengan CodeIgniter

Memaparkan Data Kepada Pengguna


Anda perlu masukkan beberapa data ke table peserta terlebih dahulu. Untuk mengeluarkan data dengan CI, anda perlu ingat syarat kesepakatan yang telah dinyatakan dalam Bab 1. Anda juga perlu fahami fungsi Model, View dan juga Controller.

Langkah 1: Bina Model


Bina satu fail baru myci/application/models/mpeserta.php Masukkan kandungan fail seperti berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Mpeserta extends CI_Model { function __construct() { parent::__construct(); } } /* End of file mpeserta.php */ /* Location: ./application/models/mpeserta.php */

Bina satu method/function untuk membaca kesemua data dari table peserta di dalam class Mpeserta seperti berikut:
function get_all() { return $this->db->order_by('nama_penuh','asc') ->get('peserta') ->result_array(); }

Method di atas akan menghasilkan SQL sama seperti di bawah:


SELECT * FROM peserta ORDER BY nama_penuh ASC

12

Membina Aplikasi Web Dengan CodeIgniter

Langkah 2: Bina View


Bina satu folder baru myci/application/views/peserta Bina fail baru myci/myci/application/views/peserta/senarai.php Masukkan kandungan fail seperti berikut:

<h3>Senarai Peserta</h3> <table> <thead> <tr> <th>#</th> <th>Nama</th> <th>Jawatan</th> <th>Status</th> <th></th> </tr> </thead> <tbody> <?php if($peserta): $kira = 0; foreach($peserta as $row): $kira++; ?> <tr> <td><?= $kira ?></td> <td><?= $row['nama_penuh'] ?></td> <td><?= $row['jawatan'] ?></td> <td><?= $row['status'] ?></td> <td>Kemaskini | Hapus</td> </tr> <?php endforeach; endif; ?> </tbody> </table>

13

Membina Aplikasi Web Dengan CodeIgniter

Langkah 3: Bina Controller


Bina fail baru myci/application/controllers/peserta.php Masukkan kandungan fail tersebut seperti berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Peserta extends CI_Controller { public function __construct() { parent::__construct(); // Your own constructor code } } /* End of file peserta.php */ /* Location: ./application/controllers/peserta.php */

Anda perlu bina satu method baru yang akan berfungsi untuk memanggil model Mpeserta bagi mendapatkan data peserta dan seterusnya menghantar data tersebut ke paparan pengguna. Bina method index() seperti berikut di dalam class Peserta:
function index() { $data['peserta'] = $this->Mpeserta->get_all(); $this->load->view('peserta/senarai',$data); }

Sebelum anda boleh menggunakan Model Mpeserta, anda perlu memanggilnya terlebih dahulu. Terdapat 2 cara untuk anda melakukannya: 1. Memanggil melalui Controller
$this->load->model('Mpeserta');

2. Setkan pada fail autoload.php Cara ini membolehkan anda menggunakan Model di mana-mana Controller. Untuk melakukannya, ikuti langkah berikut: Buka fail myci/application/config/autoload.php Pergi pada baris ke-112 dan masukkan nama Model anda ruangan array seperti dalam kod di bawah:

14

Membina Aplikasi Web Dengan CodeIgniter


$autoload['model'] = array('Mpeserta');

Dalam tutorial ini, kita akan gunakan kaedah yang kedua ini

Sekarang, melalui browser, masukkan URL http://localhost/myci/peserta dan anda boleh lihat hasilnya sama seperti dalam Rajah 2.

Rajah 2

Latihan
Anda dikehendaki membina satu table baru iaitu negeri dengan 3 kolum iaitu id, negeri & singkatan. Kemudian paparkan data senarai negeri yang anda masukkan melalui phpMyAdmin kepada pengunjung laman web anda apabila mereka menaip URL http://localhost/myci/negeri.

15

Membina Aplikasi Web Dengan CodeIgniter

BAB 3 CRUD

16

Membina Aplikasi Web Dengan CodeIgniter

BAB 3 CRUD
Dalam bab ini, kita akan belajar bagaimana menghasilkan sebuah proses yang lengkap untuk menyimpan, membaca, mengemaskini dan menghapuskan data.

Sediakan Model
Kita akan gunakan data kursus untuk contoh tutorial ini. Mari kita hasilkan table kursus terlebih dahulu.
CREATE TABLE `kursus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama_kursus` varchar(255) NOT NULL, `keterangan` varchar(255) NOT NULL, `tarikh_mula` datetime NOT NULL, `tarikh_tamat` datetime NOT NULL, `tempat` varchar(255) NOT NULL, `yuran` decimal(10,0) NOT NULL, `penganjur` varchar(255) NOT NULL, `sasaran_peserta` varchar(255) NOT NULL, `status` char(1) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; --- Dumping data for table `kursus` -INSERT INTO `kursus` VALUES(1, 'Kursus Penulisan Buku', 'Tulisan adalah rahsia menjenamakan diri, menjenamakan bisnes dan menjenamakan organisasi. Ia terbukti sejak awal lagi. Tulisan meningkatkan keuntungan organisasi, dan memberi imej pada diri. Soalnya bagaimana. Saya beritahu caranya.', '2012-09-27 00:00:00', '2012-09-28 00:00:00', 'Dewan Seminar', 150, 'DBP', 'Bakal penulis', '1', '2012-09-23 00:13:18', '2012-09-23 00:13:21'); INSERT INTO `kursus` VALUES(2, 'Kursus Pra Perkahwinan', '-', '2012-10-23 00:00:00', '2012-10-24 00:00:00', 'Dewan Utama, UTHM', 80, 'UTHM', 'Bagi mereka yang bakal berkahwin', '1', '2012-09-23 00:14:44', '2012-09-23 00:14:47');

17

Membina Aplikasi Web Dengan CodeIgniter Bina satu fail myci/application/models/mkursus.php Kandungan fail adalah seperti berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Mkursus extends CI_Model { function __construct() { parent::__construct(); } } /* End of file mkursus.php */ /* Location: ./application/models/mkursus.php */

Seperti biasa, pastikan kita panggil fail Model Mkursus tersebut dengan letakkannya di dalam fail autoload.php

$autoload['model'] = array( 'Mpeserta', 'Mkursus');

Kemudian, kita perlu menyediakan setiap method yang terlibat dalam CRUD seperti berikut: Method untuk membaca semua data dalam bentuk senarai
function get_all() { return $this->db->order_by('tarikh_mula','desc') ->get('kursus') ->result_array(); }

Method untuk membaca satu data bagi paparan terperinci


function get($where) { return $this->db->where($where) ->get('kursus') ->row_array(); }

Method untuk menyimpan data baru

18

Membina Aplikasi Web Dengan CodeIgniter


function insert($data) { return $this->db->insert('kursus',$data); }

Method untuk mengemaskini satu data


function update($where,$data) { return $this->db->where($where) ->update('kursus',$data); }

Method untuk menghapuskan satu data


function delete($where) { return $this->db->where($where) ->delete('kursus'); }

19

Membina Aplikasi Web Dengan CodeIgniter

Sediakan View
Kesemua View bagi paparan maklumat Kursus perlu disimpan di dalam satu folder supaya memudahkan pengurusan fail dan kelihatan kemas. Bina satu folder baru myci/application/views/kursus Oleh kerana kita akan menggunakan Helper bagi pautan, maka kita perlu panggil Helper tersebut melalui fail autoload.php. Sebagai contoh, lihat pada Rajah 3.
<a <?= href=http://localhost/kursus/senarai anchor('kursus/senarai','Pautan') ?> >Pautan</a>

Pautan dengan HTML

Pautan dengan CI Rajah 3

Untuk menggunakannya, ikuti langkah berikut: Buka fail myci/application/config/autoload.php Pada baris ke-67, masukkan 'url' seperti di bawah:

$autoload['helper'] = array('url');

View untuk membaca kesemua data


Bina satu fail baru myci/application/views/kursus/senarai.php

<h3>Senarai Kursus</h3> <?= anchor('kursus/borang/','Tambah Kursus') ?> <table> <thead> <tr> <th>#</th> <th>Kursus</th> <th>Tarikh</th> <th>Tempat</th> <th></th> </tr> </thead> <tbody> <?php if($kursus): $kira = 0; foreach($kursus as $row): $kira++; ?> <tr>

20

Membina Aplikasi Web Dengan CodeIgniter


<td><?= $kira ?></td> <td><?= anchor('kursus/papar/'.$row['id'], $row['nama_kursus']) ?></td> <td><?= date('d/m/Y',strtotime($row['tarikh_mula'])) ?> - <?= date('d/m/Y',strtotime($row['tarikh_tamat'])) ?></td> <td><?= $row['tempat'] ?></td> <td><?= anchor('kursus/edit/'. $row['id'],'Kemaskini') ?> | <?= anchor('kursus/hapus/'. $row['id'],'Hapus',array("onclick"=>"return confirm('Betul ni.. nak hapus data?')")) ?></td> </tr> <?php endforeach; endif; ?> </tbody> </table>

View untuk membaca satu data


Bina satu fail baru myci/application/views/kursus/papar.php

<?php if($kursus): ?> <h3><?= $kursus['nama_kursus'] ?></h3> <p><?= $kursus['keterangan']?></p> <h4>Tarikh</h4> <p><?= date('d/m/Y',strtotime($kursus['tarikh_mula'])) ?> - <?= date('d/m/Y',strtotime($kursus['tarikh_tamat'])) ?></p> <h4>Tempat</h4> <p><?= $kursus['tempat']?></p> <h4>Yuran</h4> <p>RM <?= $kursus['yuran']?></p> <h4>Penganjur</h4> <p><?= $kursus['penganjur']?></p> <h4>Sasaran Peserta</h4> <p><?= $kursus['sasaran_peserta']?></p> <?php endif; ?> <a href="javascript:window.history.back()">&laquo; Kembali</a>

21

Membina Aplikasi Web Dengan CodeIgniter

View untuk menyimpan data


Untuk menyediakan borang, kita akan menggunakan Helper CI yang dapat membantu kita menjimatkan masa. Untuk menggunakan Helper tersebut, kita perlu panggilnya terlebih dahulu. Seperti biasa, saya lebih gemar memanggilnya melalui autoload.php. Buka fail myci/application/config/autoload.php Pergi ke baris 67 dan masukkan 'form' seperti dalam kod aturcara berikut:

$autoload['helper'] = array('url','form');

Kita akan menggunakan bantuan Helper yang dsediakan oleh CI untuk membuat borang kemasukan maklumat Kursus. Bina satu fail baru myci/application/views/kursus/borang.php

<h3>Borang Tambah Kursus</h3> <?= form_open('kursus/borang') ?> <fieldset> <legend> Maklumat Kursus </legend> <div> <label>Nama Kursus</label> <?= form_input('nama_kursus') ?> </div> <div> <label>Keterangan</label> <?php $data = array( 'name'=>'keterangan', 'rows'=>'5', 'cols'=>'50'); ?> <?= form_textarea($data) ?> </div> <div> <label>Tarikh Mula</label> <?= form_input('tarikh_mula') ?> </div> <div> <label>Tarikh Tamat</label> <?= form_input('tarikh_tamat') ?> </div> <div> <label>Tempat</label> <?= form_input('tempat') ?> </div> <div> <label>Yuran</label> <?= form_input('yuran') ?> </div>

22

Membina Aplikasi Web Dengan CodeIgniter


<div> <label>Penganjur</label> <?= form_input('penganjur') ?> </div> <div> <label>Sasaran Peserta</label> <?php $data = array( 'name'=>'sasaran_peserta', 'rows'=>'5', 'cols'=>'50'); ?> <?= form_textarea($data) ?> </div> <div> <label>Status</label> <?php $options = array( '1'=>'Aktif', '0'=>'Tidak Aktif'); ?> <?= form_dropdown('status',$options) ?> </div> <div> <?= form_submit('submit','Simpan') ?> </div> </fieldset> <?= form_close() ?> <a href="javascript:window.history.back()">&laquo; Kembali</a>

View untuk kemaskini data


Bina satu fail baru myci/application/views/kursus/edit.php

<h3>Borang Kemaskini Kursus</h3> <?= form_open('kursus/edit/'.$id) ?> <fieldset> <legend> Maklumat Kursus </legend> <div> <label>Nama Kursus</label> <?= form_input('nama_kursus',$kursus['nama_kursus']) ?> </div> <div> <label>Keterangan</label> <?php $data = array( 'name'=>'keterangan', 'rows'=>'5', 'cols'=>'50', 'value'=>$kursus['keterangan']);

23

Membina Aplikasi Web Dengan CodeIgniter


?> <?= form_textarea($data) ?> </div> <div> <label>Tarikh Mula</label> <?= form_input('tarikh_mula',date('d/m/Y',strtotime($kursus['tarikh_mula']))) ?> </div> <div> <label>Tarikh Tamat</label> <?= form_input('tarikh_tamat',date('d/m/Y',strtotime($kursus['tarikh_tamat']) )) ?> </div> <div> <label>Tempat</label> <?= form_input('tempat',$kursus['tempat']) ?> </div> <div> <label>Yuran</label> <?= form_input('yuran',$kursus['yuran']) ?> </div> <div> <label>Penganjur</label> <?= form_input('penganjur',$kursus['penganjur']) ?> </div> <div> <label>Sasaran Peserta</label> <?php $data = array( 'name'=>'sasaran_peserta', 'rows'=>'5', 'cols'=>'50', 'value'=>$kursus['sasaran_peserta']); ?> <?= form_textarea($data) ?> </div> <div> <label>Status</label> <?php $options = array( '1'=>'Aktif', '0'=>'Tidak Aktif'); ?> <?= form_dropdown('status',$options,$kursus['status']) ?> </div> <div> <?= form_submit('submit','Kemaskini') ?> </div> </fieldset> <?= form_close() ?> <a href="javascript:window.history.back()">&laquo; Kembali</a>

24

Membina Aplikasi Web Dengan CodeIgniter

Sediakan Controller
Bina fail baru myci/application/controllers/kursus.php Kandungan fail seperti berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Kursus extends CI_Controller { public function __construct() { parent::__construct(); // Your own constructor code } } /* End of file kursus.php */ /* Location: ./application/controllers/kursus.php */

Method untuk memaparkan senarai Kursus


function index() { $data['kursus'] = $this->Mkursus->get_all(); $this->load->view('kursus/senarai',$data); }

Method untuk memaparkan satu data Kursus


function papar($id=0) { $where = array('id'=>$id); $data['kursus'] = $this->Mkursus->get($where); $this->load->view('kursus/papar',$data); }

Method untuk memaparkan borang kemasukan data Kursus baru

function borang() { if($_POST): $tm = explode('/',$this->input->post('tarikh_mula')); list($d,$m,$y) = $tm; $tarikh_mula = $y.'-'.$m.'-'.$d;

25

Membina Aplikasi Web Dengan CodeIgniter


$tt = explode('/',$this->input->post('tarikh_tamat')); list($d,$m,$y) = $tt; $tarikh_tamat = $y.'-'.$m.'-'.$d; $data = array( >post('nama_kursus'), >post('keterangan'), 'tarikh_mula' 'tarikh_tamat' 'tempat' >post('tempat'), 'yuran' >input->post('yuran'), 'penganjur' >post('penganjur'), 'sasaran_peserta' => $this>input->post('sasaran_peserta'), 'status' >post('status'), 'created_at' H:i:s'), 'updated_at' H:i:s') ); $this->Mkursus->insert($data); redirect('kursus'); endif; $this->load->view('kursus/borang'); } => date('Y-m-d => date('Y-m-d => $this->input=> $this->input=> $this=> $tarikh_mula, => $tarikh_tamat, => $this->input'nama_kursus' => $this->input=> $this->input-

'keterangan'

Method untuk memaparkan borang kemaskini Kursus

function edit($id=0) { $where = array('id'=>$id); if($_POST): $tm = explode('/',$this->input->post('tarikh_mula')); list($d,$m,$y) = $tm; $tarikh_mula = $y.'-'.$m.'-'.$d; $tt = explode('/',$this->input->post('tarikh_tamat')); list($d,$m,$y) = $tt; $tarikh_tamat = $y.'-'.$m.'-'.$d; $data = array( >post('nama_kursus'), >post('keterangan'), 'tarikh_mula' 'tarikh_tamat' 'tempat' => $tarikh_mula, => $tarikh_tamat, => $this->input'nama_kursus' => $this->input=> $this->input-

'keterangan'

26

Membina Aplikasi Web Dengan CodeIgniter


>post('tempat'), 'yuran' >input->post('yuran'), 'penganjur' >post('penganjur'), 'sasaran_peserta' => $this>input->post('sasaran_peserta'), 'status' >post('status'), 'updated_at' H:i:s') ); $this->Mkursus->update($where,$data); redirect('kursus'); endif; $data['kursus'] = $this->Mkursus->get($where); $data['id'] = $id; $this->load->view('kursus/edit',$data); } => date('Y-m-d => $this->input=> $this->input=> $this-

Method untuk menghapuskan data Kursus


function hapus($id=0) { $where = array('id'=>$id); $this->Mkursus->delete($where); redirect('kursus'); }

Bersambung... 27

Anda mungkin juga menyukai