Tampilkan postingan dengan label database. Tampilkan semua postingan
Tampilkan postingan dengan label database. Tampilkan semua postingan

Minggu, 29 Juli 2012

Aplikasi CRUD

Aplikasi CRUD (Create, Read/Retrieve, Update, dan Delete) adalah aplikasi yang digunakan untuk melakukan maintenance data, yang terdiri atas modul untuk melakukan penambahan data, pembacaan data, perbaikan, dan penghapusan data.

Orientasi dari suatu aplikasi CRUD adalah manipulasi pada satu tabel, secara utuh atau sebagian kolomnya saja.

Suatu aplikasi CRUD yang lengkap akan menampilkan data dari suatu tabel dalam bentuk tabel atau grid, dengan menu yang terdiri atas tambah, ubah, dan hapus; yang dilengkapi dengan fitur untuk melakukan pemfilteran data. Data disajikan secara utuh atau pun dengan menggunakan paging.

Data harus disajikan dengan menggunakan paging, jika jumlah baris data sudah sangat banyak, sudah melewati ukuran layar. Paging digunakan untuk membuat agar pengguna tidak perlu melakukan scroll layar dan juga agar waktu penampilan data dari server tidak terlalu lama.

CodeIgniter pada versi awal menyediakan fasilitas untuk membuat aplikasi CRUD yang disebut dengan scafolding, tetapi sejak versi 1.7 fitur ini dihapus.

Tetapi pengembang aplikasi dengan dengan menggunakan framework CodeIgniter tidak perlu khawatir, karena banyak framework yang dikembangkan dengan menggunakan CodeIgniter atau pun librari (plugin) yang dapat digunakan.

Beberapa contoh aplikasi CRUD yang bisa digunakan adalah framework iotataubeta, atau beberapa yang ditampilkan berikut:




Senin, 23 Juli 2012

Hasil Query Data

Method query() atau pun ActiveRecord akan memberikan hasil query yang sama, yaitu berupa objek record. 


Objek record ini dapat diproses dengan menggunakan foreach(), atau dikonversi terlebih dahulu menjadi array record, sehingga bisa diproses dengan menggunakan for() yang menggunakan array.


Sebelum melakukan pemrosesan data hasil query, maka pengembang disarankan untuk melakukan pemeriksaan terlebih dahulu dengan menggunakan method num_rows(). Pemeriksaan ini digunakan untuk memastikan apakah ada data hasil query atau tidak. Jika tidak ada maka kita bisa menampilkan pesan bahwa tidak ada data yang diquery, sebagai ganti prosesnya.


Kita dapat menggunakan fungsi result() kepada objek database, $this->db->result(), yang akan menghasilkan sebuah objek record atau array kosong.


$row=$query->result();


akan menghasilkan sebuah objek record, yang kemudian isinya ditampilkan dengan cara:


echo $row->namakolom1;
..
echo $row->namakolomn;


Proses konversi menjadi array dapat dilakukan dengan menggunakan fungsi result_array();


$row=$query->result_array();


Hasilnya akan menghasilkan sebuah array record, yang kemudian isinya ditampilkan dengan perintah berikut:


echo $row["namakolom1"];
..
echo $row["namakolomn"];


Untuk memroses keseluruhan data objek hasil array dilakukan dengan cara:


   foreach ($query->result() as $row)
   {
      echo $row->namakolom1;
      ..
      echo $row->namakolomn;
   }



Jika kita melakukan pemeriksaan terlebih dahulu, maka berikut adalah kodenya:


$query = $this->db->query("select * namatabelatauview");
if ($query->num_rows() > 0)
{
   foreach ($query->result() as $row)
   {
      echo $row->namakolom1;
      ..
      echo $row->namakolom2;
   }
}  else {

   echo "Tidak ada data hasil query!";
}

Minggu, 22 Juli 2012

Method Query Dengan CI

CI memberikan kebebasan kepada pengembang aplikasi yang menggunakan frameworknya. Pengembang yang masih senang menggunakan perintah SQL untuk melakukan query, CI menyediakan fungsi atau method query(), dengan parameter berupa string SQL.

Pengembang aplikasi harus menyiapkan perintah SQL terlebih dahulu, baru kemudian dimasukkan sebagai parameter dari method query().


<?php
..
$sqlstr="select * from namatabel ";
$qresult=$this->db->query($sqlstr);
var_dump($qresult);
..
?>

Perintah SQL yang dijadikan parameter untuk method query() dapat berupa perintah untuk membaca data dari database (select), untuk menambah data (insert), untuk memperbaiki data (update), atau untuk melakukan penghapusan (delete).


Hasil dari method query() dan ActiveRecord sama saja, berupa objek hasil query, apabila perintah SQL adalah select.

Selain perintah select, maka hasilnya adalah jumlah record yang terkena proses. Method untuk mendapatkan jumlah record yang terkena proses adalah affected_rows():


$nr=$this->db->affected_rows()

Kita dapat menggunakan nilai dari jumlah record yang terkena proses ini, untuk mengetahui apakah proses insert, update, atau delete berhasil atau tidaknya.


Jumat, 20 Juli 2012

Konfigurasi Database Dalam CI

Salah satu keunggulan dari framework PHP CI adalah dukungan framework untuk pembuatan aplikasi database. CI menyediakan dukungan kepada hampir database besar yang populer, dari MySQL, PostgreSQL, MS SQL Server, dan Oracle.

Pengembang bisa langsung berkonsentrasi pada pengembangan program. Mengapa? Karena CI telah membuatkan librari yang membungkus semua fungsi database yang ada dalam PHP menjadi seragam.

Konfigurasi
Data tentang database yang akan digunakan oleh program, cukup didefinisikan di dalam file konfigurasi database.php yang ada di dalam direktori application/config.

Berikut adalah contoh dari isi konfigurasi database.php

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

Pengembang cukup mengubah isi dari item hostname, username, password, database, dan dbdriver.
Jika kita menggunakan MySQL, maka konfigurasi di atas, cukup diubah hostname, username, password, dan databasenya saja.

Autoload
Agar koneksi database dibuka secara otomatis, maka berikutnya pengembang cukup mendefinisikan di dalam file konfigurasi autoload, pada item libraries dimasukkan database sebagai librari class yang harus diload secara otomatis.

Kamis, 19 Juli 2012

ActiveRecord Dasar: Metode Query Database Dalam CI

SQL merupakan bahasa untuk melakukan query data yang berawal dari database yang menggunakan sistem manajemen database relasional.

CI menyediakan metode query data yang memudahkan pemrogram yang belum mahir untuk menyusun perintah SQL untuk dapat dengan mudah melakukan query data, dengan metode yang disebut dengan ActiveRecord. Istilah ActiveRecord ini populer di lingkungan Ruby On Rail.

ActiveRecord memungkinkan pemrogram untuk melakukan query data tanpa harus membuat perintah SQL, tetapi cukup menyebutkan nama tabel atau viewnya saja.

$rs=$this->db->get('namatabel');

Perintah get() sama dengan kita memberikan perintah SQL:

select * from namatabel

Jika kita ingin mengambil sebagian kolom dari suatu tabel, maka kita bisa menggunakan fungsi select()

$this->db->select("namakolom1, namakolom2");

$rs=$this->db->get('namatabel');


Sama dengan perintah SQL:

select namakolom1, namakolom2 from namatabel

Chaining
Kita bisa membuat perintah ActiveRecord dengan menggunakan satu baris:



$this->db->select("namakolom1, namakolom2")->get('namatabel');


Perintah ActiveRecord bisa disatukan, sehingga pengembang bisa menyederhanakan perintah.