FrameWork
Anda sebagai seorang programmer PHP pasti pernah mengalami kejenuhan dalam membuat sebuah aplikasi web, kadang sebuah ritme yang monoton pasti sering anda alami dalam membuat sebuah web dinamis entah itu untuk website klien atau web untuk anda sendiri. Sebetulnya dari sebuah ritme tersebut ada beberapa hal yang dapat dibuat permanen dari struktur dasar kode program anda.
Mempelajari Object Oriented Programming (OOP) dalam PHP sangat penting Tujuan pemrograman menggunakan class (OOP)disini adalah code reuse, yang berarti kode program anda dapat di gunakan kembali untuk project-project web yang lainnya. Karena pada intinya dalam sebuah program yang berhubungan dengan database, variable yang selalu berubah-rubah adalah struktur database dan user interface. Dimana struktur database dan tampilan user interface ini selalu mengikuti alur business process dari pengguna program anda
Framework adalah kerangka kerja siap bangun yang sudah dilengkapi library dan fungsi-fungsi. beda framework dengan CMS (content management system ) jika framework kita benar-benar membangun web tetapi sudah disediakan library dan fungsi-fungsi yang mendukung sedangkan CMS adalah web siap guna sudah lengkap dan tidak repot-repot coding. Saat ini banyak sekali framework PHP yang ditawarkan di internet seperti Code Igniter, Cake PHP, Zend Framework, VCL Delphi PHP, Blue Shoes, dan masih banyak lagi
Sejarah Singkat Codeigniter
CodeIgniter awalnya dikembangkan oleh Rick Ellis (CEO Ellislab, Inc). FrameWork ini ditulis untuk kinerja di dunia nyata, dengan banyak class libraries, helpers,dan sub-systems yang disediakan dari kode-dasar ExpressionEngine.Saat ini CI dikembangkan dan dikelola oleh Tim Pengembangan ExpressionEngine
Pemahan Dasar mengenai Codeiniter(CI)
Apa itu codeigniter(CI) ?
CodeIgniter adalah sebuah Application Development Framework - a toolkit - bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan untuk mengembangkan proyek-proyek yang jauh lebih cepat daripada menulis kode dari awal atau sering menyebutkan PHP murni, dengan menyediakan library-library yang dibutuhkan untuk tugas-tugas, serta antarmuka yang sederhana dan struktur logika untuk mengakses libraries tersebut. CodeIgniter meminimalkan jumlah sintak untuk tugas tertentu.
CodeIgniter didasarkan pada Model-View-Controller pola pengembangan. MVC adalah sebuah pendekatan perangkat lunak aplikasi yang memisahkan logika dari antarmuka. Dalam praktiknya, hal itu memungkinkan halaman web Kamu berisi minimal scripting sejak antarmuka terpisah dari PHP scripting.
• Model mengkomunikasikan dengan struktur data. Biasanya kelas-kelas model akan berisi fungsi yang membantu Kamu mengambil, memasukkan, dan mengupdate informasi dalam database.
• View adalah informasi yang sedang disajikan kepada user. Yang bisa dilihat di halaman web, tetapi dalam CodeIgniter, view juga dapat dipisah-pisah menjadi halaman seperti header atau footer
• Controller berfungsi sebagai perantara antara Model, View, dan sumber daya lainnya yang dibutuhkan untuk memproses permintaan HTTP dan menghasilkan suatu halaman web.
Struktur Folder CI
3 komponen penting dalam codeigniter adalah Model, view dan controller (gambar yang dilingkari merah
1. Controller
Controller adalah sebuah file class yang dapat dikaitkan dengan URI. Controller juga bertindak sebagai polisi lalu lintas antara Model dan View
Controller home.php
class Home extends CI_Controller {
function __construct(){
parent::__construct();
}
function index(){
// index merupakan fungsi pertama yang akan dijalankan ketika Controller tersebut dipanggil
}
}
2. VIEW
View adalah Sebuah tampilan pada halaman web, atau halaman fragmen, seperti sebuah header, footer, sidebar, css,javascript,dll
View tidak pernah panggil secara langsung, view harus dimuat pada sebuah Controller. Ingat bahwa dalam kerangka MVC, Controller bertindak sebagai polisi lalu lintas, sehingga tertanggung jawab untuk mengambil view tertentu Membuat ViewPada view sebenarnya cukup mudah karena bermain dengan HTML ataupun PHP
Contoh
Contohview.php
<html>
<head>
<title></title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Controller
Home.php
<?php
class Home extends CI_Controller{
function __construct(){
parent::__construct();
}
function index(){
$this->load->view("contohview");
}
}
?>
Pada controller home fungsi index adalah fungsi yang pertama kali di panggil ketika controller Home di panggil contoh pemanggilan localhost/namaproject/index.php/home
3. Model
Model adalah class yang berhubungan sistem dengan database, menangani semua manipulation table seperti insert, update delete, di dalam model sudah terdapat library yang mempermudah kita untuk melakukan manipulasi table
Contoh sintak Model
M_mahasiswa.php
<?php
class M_mahasiswa extends CI_Model{
function __construct(){
parent::__construct();
}
}
?>
Sama halnya dengan view model tidak akan berdiri sendiri tanpa di panggil di controller untuk menjalankannya
Cara pemanggilan di controller
$this->load->model(“nama_model”);
4. Library
Library merupakan pustaka fungsi-funsi yang ada di codeigniter
Antara lain :
a. Cart : library untuk shoping cart
b. Calendar : library kalender
c. Driver : library untuk driver database exp : mysql , posgree,oracle
d. Email : library untuk penanganan surat eletronik (email)
e. Form_validation : library validasi form inputan
f. FTP : library untuk file transfer protocol
g. Image_lib : library untuk memanipulasi gambar
h. Javascript : library php javascript
i. Log : logger
j. Pagination : untuk pagination pada halaman website
k. Parser : library untuk php parser template
l. Session : penanganan session
m. Table : library untuk generator table
n. Upload : library untuk file upload
o. Dll
Pada CI 1.7.* library database masih ada akan tetapi di CI 2.0 keatas library database di pisahkan dengan folder library akan tetapi database merupakan library
Library Database
Library database berfungsi sebagai penangana database meliputi active record ,penangan ouput
Active record yaitu istilah untuk record query sql yang telah di ubah ke library CI
Konversi query sql ke codeigniter
1) Select
Select dalam query mySQL
SELECT * from mytable
Dalam CI
$query = $this->db->get('mytable');
Atau
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
Atau
$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get();
// Produces: SELECT title, content, date FROM mytable
2) LIMIT
Mysql
SELECT * FROM mytable LIMIT 20, 10
CI
$query = $this->db->get('mytable', 10, 20);
3) MAX
Contoh
$this->db->select_max('age');
$query = $this->db->get('members');
// Produces: SELECT MAX(age) as age FROM members
$this->db->select_max('age', 'member_age');
$query = $this->db->get('members');
// Produces: SELECT MAX(age) as member_age FROM members
4) MIN
$this->db->select_min('age');
$query = $this->db->get('members');
// Produces: SELECT MIN(age) as age FROM members
5) JOIN
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();
// Produces:
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id
6) Where
1. Simple key
$this->db->where('name', $name);
// Produces: WHERE name = 'Joe'
Contoh lain
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
2. Custom key
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
// Produces: WHERE name != 'Joe' AND id < 45
3. Menggunakan array
$array = array('name' => $name, 'title' => $title, 'status' => $status);
$this->db->where($array);
// Produces: WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
4. Or whare
$this->db->where('name !=', $name);
$this->db->or_where('id >', $id);
// Produces: WHERE name != 'Joe' OR id > 50
5. Where in
$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')
6. Or where in
$names = array('Frank', 'Todd', 'James');
$this->db->or_where_in('username', $names);
// Produces: OR username IN ('Frank', 'Todd', 'James')
7. Where not in
$names = array('Frank', 'Todd', 'James');
$this->db->or_where_not_in('username', $names);
Mysql :
// Produces: OR username NOT IN ('Frank', 'Todd', 'James')
7) LIKE
$this->db->like('title', 'match');
$this->db->or_like('body', $match);
mysql
// WHERE title LIKE '%match%' OR body LIKE '%match%'
8) INSERT
Masukan data
Contoh
$data = array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
);
$this->db->insert('mytable', $data);
mysql :
// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')
9) UPDATE
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
mysql :
// Produces:
// UPDATE mytable
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id
10) DELETE
$this->db->where('id', $id);
$this->db->delete('mytable');
// Produces:
// DELETE FROM mytable
// WHERE id = $id
Generation query result digunakan untuk generator dari fungsi get di active record
1. Result()
Output yang diharapkan adalah sebuah object
$query = $this->db->query("YOUR QUERY");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
2. Result array
Output berupa array
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
3. Row()
Output 1 baris output berupa object
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row();
echo $row->title;
echo $row->name;
echo $row->body;
}
4. Row_array
Sama dengan row bedanya adalah output array
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
5. Num_rows()
Untuk menghitung jumlah baris
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_rows();
5. HELPER
Helper adalah fungsi yang membantu mempersingkat kode html maupun php murni
Contoh
1) Array : berguna penganganan array dan manipulasinya
2) Captcha : helper captcha
3) Download : berguna download file
4) Form_helper : berguna untuk mempermudah dalam sintak form(html)
Contoh
<form method=”” action=””>
Dengan form helper
<?php echo form_open();?>
5) url : berguna penanganan link dan url
6) html : mempersingkat kode-kode html
contoh <br> = br() , <h1>= heading(1,”test”)
MEMULAI PROJECT DENGAN CODEIGNITER
I. Settingan awal
Tools yang digunakan
- Xampp 1.7.3 keatas
- browser : chrome, firefox
- IDE : netbeans, dreamweaver
- codeigniter 2.0 keatas : www.codeigniter.com
Jalankan xampp control panel
Pastikan apache dan mysql dalam keadaan running seperti gambar di atas
Klik pada bagian explore untuk masuk ke root directory Masuk ke folder htdocs Extract codeigniter_2.*.zip Di dalam foder htdocs dan rename menjadi latihan-ci
Buka netbeans
Klick à file à new project
Pilih php à php application with existing sources à next
Click à browse
Cari dimana letak latihan-ci berada (biasanya di c:\xampp\htdocs\)
Jika sudah click finish
Maka file codeigniter sudah ter –remote dengan netbeans
*tujuan penggunaan netbeans untuk memudahkan kita dalam implementasi program codeigniter
Melakukan configurasi awal kita perlu meng-autoload helper ataupun library yang di perlukan
Buka file autoload.php (1)
Tambahkan dalam array library sehingga
Pada bagian config kita perlu mencofig baris encryption_key
Buka file config.php
Dan isi terserah anda
Misalnya
Untuk setting bagian database kita perlu membuat database terlebih dahulu
Dengan cara memanggil localhost/phpmyadmin di browser anda
Buka browser anda à localhost/phpmyadmin
Create database : latihan_ci_db
Klick à create
Setelah kita membuat database kita perlu ubah settingan database.php (3)
Kita ubah sesuai dengan nama database dan settingan mysql server kita
Sekarang buka lewat browser localhost/latihan-ci
Codeigniter siap di gunakan
II. CONTROLLER
Controller bertindak sebagai juru kendali dari sistem
Kita buat file home.php di folder controller
Beri nama home
Ketik kode di atas
*catatan nama controller harus sama dengan nama file controller dan awali dengan huruf bersar
Panggil controller pada browser anda http://localhost/latihan-ci/index.php/home
Maka akan muncul “ini adalah controller home”
*catatan fungsi index adalah fungsi pertama yang akan dijalankan pada saat controller home di panggil
Tambahkan fungsi latihan di bawah fungsi index
Dan panggil di browser http://localhost/latihan-ci/index.php/home/latihan
Maka akan tampil fungsi dari latihan
Fungsi dengan paramater
Coba beri paramater di fungsi parameter contoh http://localhost/latihan-ci/index.php/home/parameter/3
Pada pemanggilan dikasih parameter 3 seharusnya akan muncul 3 dilayar
III. VIEW
View tidak bisa berdiri sendiri harus ada controller
Kita buat contohview.php di folder views
Contohview.php
<html>
<head>
<title>Contoh View</title>
</head>
<body>
<h2>Contoh view</h2>
</body>
</html>
View tersebut tidak akan muncul jika tidak ada controller yang meng-load view tersebut
Kita edit saja controller sebelumnya home.php pada bagian index
$this->load->view(“contohview”);
Artinya pada contrller home function index memanggil view bernama contohview.php di folder view
*catatan contohview dalam tanda petik tidak pakai .php
Lihat hasilnya http://localhost/latihan-ci/index.php/home
Dan yang terpanggil adalah view bernama contohview.php
View dengan beban data
View dengan di beri beban data yang berasal dari controller
Contoh
Edit function index di home.php
$data akan di parsing ke contohview.php
*catatan
$this->load->view(“contohview”,$data);
Data merupakan variable yang di kirimkan ke view
$data[“content”]
Content akan menjadi variable $content di view
Lihat hasilny di http://localhost/latihan-ci/index.php/home
*catatan dalam 1 function di controller hanya ada 1 load view
Dan type array hanya ada 1
Contoh :
Contoh yang benar
IV. MODEL
Model adalah class yang berhubungan dengan manipulasi database
Sebelum kita kemodel kita harus membuat table dengan phpmyadmin terlebih dahulu
Kunjungi http://localhost/phpmyadmin
Pilih database yang telah kita buat di awal yaitu latihan_ci_db
Buat table bernama berita
Buat field seperti diatas
Setelah tabel dibuat kita buat model bernama m_berita yang nantinya akan di isi fungsi insert, update,select, delete
<?php
class M_berita extends CI_Model {
function __construct() {
parent::__construct();
}
function select() {
$result = $this->db->get("berita");
if ($result->num_rows() > 0) {
return $result->result_array();
}
}
function get_one($id) {
$this->db->where("id", $id);
$result = $this->db->get("berita");
if ($result->num_rows() == 1) {
return $result->row_array();
}
}
function insert($data) {
$this->db->insert("berita", $data);
}
function update($id, $data) {
$this->db->where("id", $id);
$this->db->update("berita", $data);
}
function delete($id) {
$this->db->where("id", $id);
$this->db->delete("berita");
}
}
?>
Fungsi di atas untuk select semua row , select 1 row , insert, update , delete
Model tidak akan bekerja jika tidak di panggil di controller
Ubah controller home
Untuk menampilkan tabel berita
Buat view bernama tampil_berita.php
Panggil fungsi controllernya
Pertanyaan kenapa kosong ?
Karena data di tabel berita belum ada maka dari itu kita buat fungsi untuk menambah data di controller home function post
Function post memanggil library form_validation untuk control di form
*catatan
PHP murni untuk menangkap variable post menggungakan function $_POST
Akan tetapi jika menggukan CI
$_POST di gantikan $this->input->post(); tujuannya untuk keamanan
Buat view bernama post.php
Refrensi form helper : http://codeigniter.com/user_guide/helpers/form_helper.html
Ketika disubmit akan redirect ke home/index
Membuat function delete di controller home
Karena delete tidak memerlukan tampilan di view dia hanya berfungsi mendelete baris dan setelah terlhapus akan ke home/index maka yang perlu di perhatikan adalah di view tampil_berita.php
Anchor adalah penggati dari <a href>
Dengan parameter id $brt[“id”]
Membut function update
Dalam update kita perlu 2 fungsi yang petama untuk menampilkan data ke form dan selanjutnya di update
Tambahkan fungsi di bawah untuk controller home
Buat form_update.php di view
Kita perlu form_hidden untuk paramater update di mysql dan value harus di tampilkan ke form ($berita[“judul”])
Refrensi
http://codeigniter.com/user_guide
Anda sebagai seorang programmer PHP pasti pernah mengalami kejenuhan dalam membuat sebuah aplikasi web, kadang sebuah ritme yang monoton pasti sering anda alami dalam membuat sebuah web dinamis entah itu untuk website klien atau web untuk anda sendiri. Sebetulnya dari sebuah ritme tersebut ada beberapa hal yang dapat dibuat permanen dari struktur dasar kode program anda.
Mempelajari Object Oriented Programming (OOP) dalam PHP sangat penting Tujuan pemrograman menggunakan class (OOP)disini adalah code reuse, yang berarti kode program anda dapat di gunakan kembali untuk project-project web yang lainnya. Karena pada intinya dalam sebuah program yang berhubungan dengan database, variable yang selalu berubah-rubah adalah struktur database dan user interface. Dimana struktur database dan tampilan user interface ini selalu mengikuti alur business process dari pengguna program anda
Framework adalah kerangka kerja siap bangun yang sudah dilengkapi library dan fungsi-fungsi. beda framework dengan CMS (content management system ) jika framework kita benar-benar membangun web tetapi sudah disediakan library dan fungsi-fungsi yang mendukung sedangkan CMS adalah web siap guna sudah lengkap dan tidak repot-repot coding. Saat ini banyak sekali framework PHP yang ditawarkan di internet seperti Code Igniter, Cake PHP, Zend Framework, VCL Delphi PHP, Blue Shoes, dan masih banyak lagi
Sejarah Singkat Codeigniter
CodeIgniter awalnya dikembangkan oleh Rick Ellis (CEO Ellislab, Inc). FrameWork ini ditulis untuk kinerja di dunia nyata, dengan banyak class libraries, helpers,dan sub-systems yang disediakan dari kode-dasar ExpressionEngine.Saat ini CI dikembangkan dan dikelola oleh Tim Pengembangan ExpressionEngine
Pemahan Dasar mengenai Codeiniter(CI)
Apa itu codeigniter(CI) ?
CodeIgniter adalah sebuah Application Development Framework - a toolkit - bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan untuk mengembangkan proyek-proyek yang jauh lebih cepat daripada menulis kode dari awal atau sering menyebutkan PHP murni, dengan menyediakan library-library yang dibutuhkan untuk tugas-tugas, serta antarmuka yang sederhana dan struktur logika untuk mengakses libraries tersebut. CodeIgniter meminimalkan jumlah sintak untuk tugas tertentu.
CodeIgniter didasarkan pada Model-View-Controller pola pengembangan. MVC adalah sebuah pendekatan perangkat lunak aplikasi yang memisahkan logika dari antarmuka. Dalam praktiknya, hal itu memungkinkan halaman web Kamu berisi minimal scripting sejak antarmuka terpisah dari PHP scripting.
• Model mengkomunikasikan dengan struktur data. Biasanya kelas-kelas model akan berisi fungsi yang membantu Kamu mengambil, memasukkan, dan mengupdate informasi dalam database.
• View adalah informasi yang sedang disajikan kepada user. Yang bisa dilihat di halaman web, tetapi dalam CodeIgniter, view juga dapat dipisah-pisah menjadi halaman seperti header atau footer
• Controller berfungsi sebagai perantara antara Model, View, dan sumber daya lainnya yang dibutuhkan untuk memproses permintaan HTTP dan menghasilkan suatu halaman web.
Struktur Folder CI
3 komponen penting dalam codeigniter adalah Model, view dan controller (gambar yang dilingkari merah
1. Controller
Controller adalah sebuah file class yang dapat dikaitkan dengan URI. Controller juga bertindak sebagai polisi lalu lintas antara Model dan View
Controller home.php
class Home extends CI_Controller {
function __construct(){
parent::__construct();
}
function index(){
// index merupakan fungsi pertama yang akan dijalankan ketika Controller tersebut dipanggil
}
}
2. VIEW
View adalah Sebuah tampilan pada halaman web, atau halaman fragmen, seperti sebuah header, footer, sidebar, css,javascript,dll
View tidak pernah panggil secara langsung, view harus dimuat pada sebuah Controller. Ingat bahwa dalam kerangka MVC, Controller bertindak sebagai polisi lalu lintas, sehingga tertanggung jawab untuk mengambil view tertentu Membuat ViewPada view sebenarnya cukup mudah karena bermain dengan HTML ataupun PHP
Contoh
Contohview.php
<html>
<head>
<title></title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Controller
Home.php
<?php
class Home extends CI_Controller{
function __construct(){
parent::__construct();
}
function index(){
$this->load->view("contohview");
}
}
?>
Pada controller home fungsi index adalah fungsi yang pertama kali di panggil ketika controller Home di panggil contoh pemanggilan localhost/namaproject/index.php/home
3. Model
Model adalah class yang berhubungan sistem dengan database, menangani semua manipulation table seperti insert, update delete, di dalam model sudah terdapat library yang mempermudah kita untuk melakukan manipulasi table
Contoh sintak Model
M_mahasiswa.php
<?php
class M_mahasiswa extends CI_Model{
function __construct(){
parent::__construct();
}
}
?>
Sama halnya dengan view model tidak akan berdiri sendiri tanpa di panggil di controller untuk menjalankannya
Cara pemanggilan di controller
$this->load->model(“nama_model”);
4. Library
Library merupakan pustaka fungsi-funsi yang ada di codeigniter
Antara lain :
a. Cart : library untuk shoping cart
b. Calendar : library kalender
c. Driver : library untuk driver database exp : mysql , posgree,oracle
d. Email : library untuk penanganan surat eletronik (email)
e. Form_validation : library validasi form inputan
f. FTP : library untuk file transfer protocol
g. Image_lib : library untuk memanipulasi gambar
h. Javascript : library php javascript
i. Log : logger
j. Pagination : untuk pagination pada halaman website
k. Parser : library untuk php parser template
l. Session : penanganan session
m. Table : library untuk generator table
n. Upload : library untuk file upload
o. Dll
Pada CI 1.7.* library database masih ada akan tetapi di CI 2.0 keatas library database di pisahkan dengan folder library akan tetapi database merupakan library
Library Database
Library database berfungsi sebagai penangana database meliputi active record ,penangan ouput
Active record yaitu istilah untuk record query sql yang telah di ubah ke library CI
Konversi query sql ke codeigniter
1) Select
Select dalam query mySQL
SELECT * from mytable
Dalam CI
$query = $this->db->get('mytable');
Atau
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
Atau
$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get();
// Produces: SELECT title, content, date FROM mytable
2) LIMIT
Mysql
SELECT * FROM mytable LIMIT 20, 10
CI
$query = $this->db->get('mytable', 10, 20);
3) MAX
Contoh
$this->db->select_max('age');
$query = $this->db->get('members');
// Produces: SELECT MAX(age) as age FROM members
$this->db->select_max('age', 'member_age');
$query = $this->db->get('members');
// Produces: SELECT MAX(age) as member_age FROM members
4) MIN
$this->db->select_min('age');
$query = $this->db->get('members');
// Produces: SELECT MIN(age) as age FROM members
5) JOIN
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();
// Produces:
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id
6) Where
1. Simple key
$this->db->where('name', $name);
// Produces: WHERE name = 'Joe'
Contoh lain
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
2. Custom key
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
// Produces: WHERE name != 'Joe' AND id < 45
3. Menggunakan array
$array = array('name' => $name, 'title' => $title, 'status' => $status);
$this->db->where($array);
// Produces: WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
4. Or whare
$this->db->where('name !=', $name);
$this->db->or_where('id >', $id);
// Produces: WHERE name != 'Joe' OR id > 50
5. Where in
$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')
6. Or where in
$names = array('Frank', 'Todd', 'James');
$this->db->or_where_in('username', $names);
// Produces: OR username IN ('Frank', 'Todd', 'James')
7. Where not in
$names = array('Frank', 'Todd', 'James');
$this->db->or_where_not_in('username', $names);
Mysql :
// Produces: OR username NOT IN ('Frank', 'Todd', 'James')
7) LIKE
$this->db->like('title', 'match');
$this->db->or_like('body', $match);
mysql
// WHERE title LIKE '%match%' OR body LIKE '%match%'
8) INSERT
Masukan data
Contoh
$data = array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
);
$this->db->insert('mytable', $data);
mysql :
// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')
9) UPDATE
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
mysql :
// Produces:
// UPDATE mytable
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id
10) DELETE
$this->db->where('id', $id);
$this->db->delete('mytable');
// Produces:
// DELETE FROM mytable
// WHERE id = $id
Generation query result digunakan untuk generator dari fungsi get di active record
1. Result()
Output yang diharapkan adalah sebuah object
$query = $this->db->query("YOUR QUERY");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
2. Result array
Output berupa array
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
3. Row()
Output 1 baris output berupa object
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row();
echo $row->title;
echo $row->name;
echo $row->body;
}
4. Row_array
Sama dengan row bedanya adalah output array
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
5. Num_rows()
Untuk menghitung jumlah baris
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_rows();
5. HELPER
Helper adalah fungsi yang membantu mempersingkat kode html maupun php murni
Contoh
1) Array : berguna penganganan array dan manipulasinya
2) Captcha : helper captcha
3) Download : berguna download file
4) Form_helper : berguna untuk mempermudah dalam sintak form(html)
Contoh
<form method=”” action=””>
Dengan form helper
<?php echo form_open();?>
5) url : berguna penanganan link dan url
6) html : mempersingkat kode-kode html
contoh <br> = br() , <h1>= heading(1,”test”)
MEMULAI PROJECT DENGAN CODEIGNITER
I. Settingan awal
Tools yang digunakan
- Xampp 1.7.3 keatas
- browser : chrome, firefox
- IDE : netbeans, dreamweaver
- codeigniter 2.0 keatas : www.codeigniter.com
Jalankan xampp control panel
Pastikan apache dan mysql dalam keadaan running seperti gambar di atas
Klik pada bagian explore untuk masuk ke root directory Masuk ke folder htdocs Extract codeigniter_2.*.zip Di dalam foder htdocs dan rename menjadi latihan-ci
Buka netbeans
Klick à file à new project
Pilih php à php application with existing sources à next
Click à browse
Cari dimana letak latihan-ci berada (biasanya di c:\xampp\htdocs\)
Jika sudah click finish
Maka file codeigniter sudah ter –remote dengan netbeans
*tujuan penggunaan netbeans untuk memudahkan kita dalam implementasi program codeigniter
Melakukan configurasi awal kita perlu meng-autoload helper ataupun library yang di perlukan
Buka file autoload.php (1)
Tambahkan dalam array library sehingga
Pada bagian config kita perlu mencofig baris encryption_key
Buka file config.php
Dan isi terserah anda
Misalnya
Untuk setting bagian database kita perlu membuat database terlebih dahulu
Dengan cara memanggil localhost/phpmyadmin di browser anda
Buka browser anda à localhost/phpmyadmin
Create database : latihan_ci_db
Klick à create
Setelah kita membuat database kita perlu ubah settingan database.php (3)
Kita ubah sesuai dengan nama database dan settingan mysql server kita
Sekarang buka lewat browser localhost/latihan-ci
Codeigniter siap di gunakan
II. CONTROLLER
Controller bertindak sebagai juru kendali dari sistem
Kita buat file home.php di folder controller
Beri nama home
Ketik kode di atas
*catatan nama controller harus sama dengan nama file controller dan awali dengan huruf bersar
Panggil controller pada browser anda http://localhost/latihan-ci/index.php/home
Maka akan muncul “ini adalah controller home”
*catatan fungsi index adalah fungsi pertama yang akan dijalankan pada saat controller home di panggil
Tambahkan fungsi latihan di bawah fungsi index
Dan panggil di browser http://localhost/latihan-ci/index.php/home/latihan
Maka akan tampil fungsi dari latihan
Fungsi dengan paramater
Coba beri paramater di fungsi parameter contoh http://localhost/latihan-ci/index.php/home/parameter/3
Pada pemanggilan dikasih parameter 3 seharusnya akan muncul 3 dilayar
III. VIEW
View tidak bisa berdiri sendiri harus ada controller
Kita buat contohview.php di folder views
Contohview.php
<html>
<head>
<title>Contoh View</title>
</head>
<body>
<h2>Contoh view</h2>
</body>
</html>
View tersebut tidak akan muncul jika tidak ada controller yang meng-load view tersebut
Kita edit saja controller sebelumnya home.php pada bagian index
$this->load->view(“contohview”);
Artinya pada contrller home function index memanggil view bernama contohview.php di folder view
*catatan contohview dalam tanda petik tidak pakai .php
Lihat hasilnya http://localhost/latihan-ci/index.php/home
Dan yang terpanggil adalah view bernama contohview.php
View dengan beban data
View dengan di beri beban data yang berasal dari controller
Contoh
Edit function index di home.php
$data akan di parsing ke contohview.php
*catatan
$this->load->view(“contohview”,$data);
Data merupakan variable yang di kirimkan ke view
$data[“content”]
Content akan menjadi variable $content di view
Lihat hasilny di http://localhost/latihan-ci/index.php/home
*catatan dalam 1 function di controller hanya ada 1 load view
Dan type array hanya ada 1
Contoh :
Contoh yang benar
IV. MODEL
Model adalah class yang berhubungan dengan manipulasi database
Sebelum kita kemodel kita harus membuat table dengan phpmyadmin terlebih dahulu
Kunjungi http://localhost/phpmyadmin
Pilih database yang telah kita buat di awal yaitu latihan_ci_db
Buat table bernama berita
Buat field seperti diatas
Setelah tabel dibuat kita buat model bernama m_berita yang nantinya akan di isi fungsi insert, update,select, delete
<?php
class M_berita extends CI_Model {
function __construct() {
parent::__construct();
}
function select() {
$result = $this->db->get("berita");
if ($result->num_rows() > 0) {
return $result->result_array();
}
}
function get_one($id) {
$this->db->where("id", $id);
$result = $this->db->get("berita");
if ($result->num_rows() == 1) {
return $result->row_array();
}
}
function insert($data) {
$this->db->insert("berita", $data);
}
function update($id, $data) {
$this->db->where("id", $id);
$this->db->update("berita", $data);
}
function delete($id) {
$this->db->where("id", $id);
$this->db->delete("berita");
}
}
?>
Fungsi di atas untuk select semua row , select 1 row , insert, update , delete
Model tidak akan bekerja jika tidak di panggil di controller
Ubah controller home
Untuk menampilkan tabel berita
Buat view bernama tampil_berita.php
Panggil fungsi controllernya
Pertanyaan kenapa kosong ?
Karena data di tabel berita belum ada maka dari itu kita buat fungsi untuk menambah data di controller home function post
Function post memanggil library form_validation untuk control di form
*catatan
PHP murni untuk menangkap variable post menggungakan function $_POST
Akan tetapi jika menggukan CI
$_POST di gantikan $this->input->post(); tujuannya untuk keamanan
Buat view bernama post.php
Refrensi form helper : http://codeigniter.com/user_guide/helpers/form_helper.html
Ketika disubmit akan redirect ke home/index
Membuat function delete di controller home
Karena delete tidak memerlukan tampilan di view dia hanya berfungsi mendelete baris dan setelah terlhapus akan ke home/index maka yang perlu di perhatikan adalah di view tampil_berita.php
Anchor adalah penggati dari <a href>
Dengan parameter id $brt[“id”]
Membut function update
Dalam update kita perlu 2 fungsi yang petama untuk menampilkan data ke form dan selanjutnya di update
Tambahkan fungsi di bawah untuk controller home
Buat form_update.php di view
Kita perlu form_hidden untuk paramater update di mysql dan value harus di tampilkan ke form ($berita[“judul”])
Refrensi
http://codeigniter.com/user_guide
Belajar Pemrograman PHP
Reviewed by Wahyumiftahulhuda
on
Oktober 08, 2013
Rating:
Tidak ada komentar: