Sharing Materi Perkuliahan Sarjana dan Pascasarjana yang ditulis secara pribadi atas tugas kuliah: Mengenai materi Akuntansi, Ekonomi, Sistem Informasi, Teknik Informatika, Informasi Teknologi dan Pengetahuan Umum

Jumat, 21 April 2017

WEB DINAMIS LANJUT | ACTIVE RECORD dan HTACCESS: Insert,Selecting, Update, Delete Data.

Oleh : Yovi Citra Nengsih 
Active Record
Active Record (AR) adalah sebuah pattern / pendekatan untuk membaca data dari sebuah table atau view dengan cara membungkusnya dalam sebuah ke las. Sehingga tidak dibutuhkan SQL jika kita menggunakan active record. Keuntungan yang didapat adalah kesederhanaan dalam pengkodean program dan fleksibilitasnya ketika terjadi pergantian skema atau pun jenis database (bebas dari sintaks-sintaks SQL yang bersifat khusus ke database tertentu).  CodeIgniter tidak sepenuhnya meniru pattern Active Record, tetapi ia melakukan sedikit modifikasi terhadap pattern tersebut. Dengan menggunakan Active Record CI maka proses pengambilan data, insert, update dan delete menjadi lebih sederhana.
$this->db->get('users')

Query di atas akan menghasilkan query “SELECT * FROM users” dan setara dengan
$this->db->query('SELECT * FROM users');
Ketika kita tidak menggunakan fungsi apapun maka fungsi get akan menghasilkan seluruh record yang berada di dalam tabel tersebut, tetapi jika diberi fungsi select(), where(), dan lain-lain maka hasilnya akan berbeda.

A. Selecting Data
    Untuk mengambil data dari database dengan field-field tertentu kita dapat menggunakan perintah select(). Contoh:
$this->db->select('username,password,email');
$this->db->get('users');

Query di atas setara dengan
$this->db->query('SELECT username,password,email FR
OM users');
   Selain method select, terdapat juga method-method lainnya seperti from(), where(), where_in(), group_by, order_by, like, distinct() dan lain-lain. Semua method tersebut jika dipanggil akan membentuk sebuah query dan query tersebut akan dijalankan ketika method get() dipanggil. Untuk kemudahan, active record sudah memiliki fitur chaining method, jadi kita dapat merangkai semua query tadi sehingga menjadi lebih ringkas. Contoh query yang kompleks
$data_all=$this->db
->select("sum(budget) as sum_budget, site_ad_mapping.*")
->where('site_ad_mapping.site_id',$site_id)
->where('ad_status','approved')
->where('request_status','active')

->where('ad_operational_status','active')
->join('ads','ads.id_ad =site_ad_mapping.ad_id ')
->join('advertisers','id_advertiser=advertiser_id')
->join('site_counter','site_counter.site_id =site_id ')
->join('sites','site_counter.site_id = sites.id_site ')
->join('publishers','sites.publisher_id = id_publisher')
->from('site_ad_mapping')
->order_by('ad_priority_level','desc')
->order_by('point','desc')
->group_by('ad_id')->limit(0,10)
->get()->result();

B. Insert Data
    Selain pengambilan data, Active record juga menyediakan fungsionalitas untuk insert data. Untuk menginsert sebuah data kita hanya memerlukan dua parameter yaitu nama table dan data yang akan dimasukkan. Data yang akan dimasukkan harus memiliki format berupa array assosiatif ataupun object. Adapun keuntungan menggunakan active record untuk menginsert data selain sederhana untuk digunakan, adalah method ini secara build-in disertai fungsi untuk penanganan escaping, jadi query kita sudah bisa dikatakan aman dari kesalahan, contoh:
$data=
array('username'=>'Ibnoe','email'=>'xibnoe@gmail.com');
$this->db
->insert('users',$data);

Selain dengan cara di atas, kita juga bisa memasukkan data yang diinginkan satu persatu. Contohnya:

$data=array('username'=>'Ibnoe','email'=>'xibnoe@gmail.com');
$this->db->set($data);
$this->db->insert('users');
Atau
$this->db->set('username','ibnoe');
$this->db->set('email','xibnoe@gmail.com');
$this->db->insert('users');
Kedua Contoh di atas menghasilkan query yang sama.

C. Update Data
  Selain insert dan select data, CodeIgniter juga menyediakan fungsi untuk update. Adapun penggunaannya mirip seperti penggunaan insert, contoh:
$this->db->set('username','ibnoe');
$this->db->set('password','123456');
$this->db->update('users');
Query di atas akan menghasilkan query “update users set username=ibnoe, password=123456”. Cara yang lebih sederhana dengan menggunakan array
assosiatif
$data=array('username'=>'ibnoe','password'=>'123456');
$this->db->where('id',5);
$this->db->update('users',$data);

D. Delete Data
     Untuk melakukan delete pada CodeIgniter, kita dapat menggunakan perintah berikut ini:
$this->db->where('id',5);
$this->db->delete('table_name');

























SUMBER
Diktat web dinamis lanjut
http://httpd.apache.org/docs/2.2/howto/htaccess.html


Tidak ada komentar:

Posting Komentar