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)
Bisa dilihat diatas menghasilkan data untuk variable query yang bisa kita oleh seperti ini :
$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

Popular posts from this blog

Fungsi PHP untuk menghitung selisih atau jarak 2 tanggal

Belajar ExtJS Dasar

Session pada Code Igniter