Active Record - Select Query
Untuk Memilih data dari database ( Select )
$this->db->get();Digunakan untuk menyeleksi seluruh data pada suatu table di database.
Contoh :
- $query = $this->db->get('mytable');
// menghasilkan : SELECT * FROM mytable - $query = $this->db->get('mytable', 10, 20);
// menhasilkan : SELECT * FROM mytable LIMIT 20, 10
(limit ini untuk database mysql, di database lain bisa berbeda script)
$query = $this->db->get('nama_tabel');
foreach ($query->result() as $baris) {
echo $baris->nama_field;
}
Fungsi result() digunakan untuk membuat objek atau array kosong jika salah, nanti akan dibahas lebih dalam.
---------------------------------------------------------------
$this->db->get_where();
Digunakan untuk menyeleksi dan memberikan kondisi where, menggantikan get_where() pada versi sebelumnya.
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
Hasilnya : Select * from mytable where id=’$id’ limit $limit,$offset
---------------------------------------------------------------
$this->db->select();
Digunakan untuk menyeleksi satu atau bebrapa field saja pada suatu query.
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
// hasilnya : SELECT title, content, date FROM mytable
---------------------------------------------------------------
$this->db->select_max();
Digunakan untuk memberikan nilai maksimal suatu field, atau bebrapa field pada table tertentu
$this->db->select_max('age');
$query = $this->db->get('members');
// Menghasilkan : SELECT MAX(age) as age FROM members
$this->db->select_max('age', 'member_age');
$query = $this->db->get('members');
// Menghasilkan : SELECT MAX(age) as member_age FROM members
---------------------------------------------------------------
$this->db->select_min();
Digunakan untuk memberikan nilai miniimal suatu field, atau bebrapa field pada table tertentu, , cara penulisan dan pemakaiannya sama seperti select_max()
$this->db->select_avg();
Digunakan untuk menghitung nilai rata – rata suatu field, cara penulisan dan pemakaiannya sama seperti select_max()
$this->db->select_sum();
Digunakan untuk menghitung jumlah nilai dari suatu field, cara penulisan dan pemakaiannya sama seperti select_max()
---------------------------------------------------------------
$this->db->from();
Digunakan untuk memilih table yang akan di SELECT, sebenarnya kita bisa dan cukup memilih table pada get() jadi semua terserah kamu ingin memakai yang mana.
$this->db->select('title, content, date');
$this->db->from('mytable');
$query = $this->db->get();
// Menghasilkan : SELECT title, content, date FROM mytable
---------------------------------------------------------------
$this->db->join();
Digunakan untuk menggabungkan beberapa table,
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();
// Menghasilkan : SELECT * FROM blogs JOIN comments ON comments.id = blogs.id
Jika kamu ingin memberikan penggabungan yang lain kamu bisa memberikan nilai pada parameter ke 3 dengan nilai : left, right, outer, inner, left outer, and right outer.
$this->db->join('comments', 'comments.id = blogs.id', 'left');
// Menghasilkan : LEFT JOIN comments ON comments.id = blogs.id
---------------------------------------------------------------
$this->db->where();
Digunakan untuk memberikan kondisi Where pada penyeleksian table. Nilai/value yang digunakan dalam fungsi ini juga otomastis fileter untuk wild character (Escaped automatically) jadi aman.
$this->db->where('name', $name);
// menhasilkan : WHERE name = 'Joe
Tapi jika kamu menggunakannya lebih dari Satu maka hasilnya menjadi Where … AND
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// Menghasilkan : WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
Atau kamu juga bisa mengganti kondisi method where nya
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
// Menghasilkan : WHERE name != 'Joe' AND id < 45
Dan mungkin kamu ingin cara manual seperti biasanya :
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);
Mudah bukan ? J
---------------------------------------------------------------
$this->db->or_where();
Digunakan untuk memberikan wher lebih dari satu dengan kondisi ATAU.
$this->db->where('name !=', $name);
$this->db->or_where('id >', $id);
// Menghasilkan : WHERE name != 'Joe' OR id > 50
---------------------------------------------------------------
$this->db->where_in();
Bagi kamu yang sudah mempelajari SQL dengan detail dan dalam, pasti paham ini.$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Menghasilkan : WHERE username IN ('Frank', 'Todd', 'James')
---------------------------------------------------------------
$this->db->like();
Digunakan membuat query dengan syarat Like atau seperti nilai yg diberikan.
$this->db->like('title', 'match');
$this->db->like('body', 'match');
// WHERE title LIKE '%match%' AND body LIKE '%match%
Atau mungkin kamu ingin membuat kuery dengan kondisi Like seperti ini :
$this->db->like('title', 'match', 'before');
// Menghasilkan : WHERE title LIKE '%match'
$this->db->like('title', 'match', 'after');
// Menghasilkan : WHERE title LIKE 'match%'
$this->db->like('title', 'match', 'both');
// Menghasilkan : WHERE title LIKE '%match%'
---------------------------------------------------------------
$this->db->or_like();
Pemakaiannya sama seperti Like() or_like() digunakan untuk kondisi OR (atau) dengan like.
$this->db->like('title', 'match');
$this->db->or_like('body', $match);
// WHERE title LIKE '%match%' OR body LIKE '%match%'
---------------------------------------------------------------
$this->db->group_by();
Digunakan untuk memberikan method group by.. atau kelompokan berdasarkan ..
$this->db->group_by(array("nama_field1", "nama_field2"));
// Menghasilkan : GROUP BY title, date,
Digunakan untuk
---------------------------------------------------------------
$this->db->order_by();
Digunakan untuk mengurutkan data berdasarkan nilai.
$this->db->order_by("title", "desc");
// Menghasilkan : ORDER BY title DESC
---------------------------------------------------------------
$this->db->limit();
Digunakan untuk mebatasi jumlah baris yang akan ditampilkan dari hasil query
$this->db->limit(10);
// Produces: LIMIT 10
Atau kamu ingin membuatnya seperti ini :
$this->db->limit(10, 20);
// menghasikan : LIMIT 20, 10 (di mysql, kalau database lain beda perintah)
---------------------------------------------------------------
$this->db->count_all_results();
Digunakan untuk Menampilkan nilai dari jumlah baris hasil query, hampir sama dengan num_row().
echo $this->db->count_all_results('my_table');
// menghasilkan nilai integer, misalkan : 25
$this->db->like('title', 'match');
$this->db->from('my_table');
echo $this->db->count_all_results();
// menghasilkan nilai integer, karena ada kondisi misalkan jadi : 17
---------------------------------------------------------------
Seperti itulah. jadi simple dan mudah, silahkan baca artikel selanjutnya untuk active record Insert, Update dan delete. ATAU
Silahkan download tutorial Code Igniter Bahasa Indonesia Disini.
Comments
Post a Comment