Home » Codeigniter » Return Query Dengan row() result() dan result_array()

Return Query Dengan row() result() dan result_array()

Published by Ade Kurniawan on

Codeigniter menyediakan function untuk mengolah hasil query, dalam artikel ini kita akan membahas beberapa diantara function tersebut seperti row, num_rows result, dan result_array.

Ok….. Baiklah langsung saja masuk ke pembahasan.

Menggunakan row() dan num_rows() di codeigniter

Contoh ini menggunakan tabel siswa di database indonetsource

Struktur tabel siswa

CREATE TABLE siswa (
id_siswa int(11) NOT NULL AUTO_INCREMENT,
nama varchar(50) NOT NULL,
PRIMARY KEY (id_siswa)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

inputkan data ke tabel

INSERT INTO siswa (id_siswanama) VALUES (‘001’, ‘Ade Kurniawan’), (‘002’, ‘Bayu Saputra’)

1. row() codeigniter

Return row() codeigniter digunakan untuk menampilkan data dalam bentuk single row dan dapat dikombinasikan dengan where clause.

contoh penulisan return dengan row() pada model codeigniter seperti berikut:

public function get_siswa($id_siswa){
		return $query = $this->db->get_where('siswa',array('id_siswa' => $id_siswa))->row();
	}

Untuk mengakses data silahkan buat function di controller sebagai berikut:

public function index(){
		$data = $this->siswa_model->get_siswa("001");	
		echo $data->nama;
	}

output dari model dan controller di atas adalah:

Ade Kurniawan

row() juga dapat digunakan tanpa menggunakan where. Saat menggunakan row() tanpa where maka meskipun di sebuah tabel terdiri dari banyak row. data yang akan tampil hanya 1 row. Data yang tampil tersebut adalah data row pertama saja.

2. num_rows codeigniter

num_rows digunakan untuk menghasilkan jumlah rows yang terdapat dari sebuah tabel di database yang kita miliki. outputnya berupa angka.

untuk menampilkan output dari num_rows teman – teman dapat menggunakan syntax berikut di model controller:

function di model

public function get_data(){
		return $query = $this->db->get('siswa');
	}

Selanjutnya untuk menampilkan output num_rows silahkan tambahkan function ini di controller

public function data_siswa(){		
		$data = $this->siswa_model->get_data();			
		echo $data->num_rows();	
	}

jalankan function controller di atas maka outputnya akan muncul jumlah baris tabel yang ada di database.

Dengan karakter bentuk result yang dimiliki oleh num_rows maka dalam penerapannya num_rows sering digunakan untuk melakukan cek sebuah data di database seperti script berikut:

$query = $this->db->query("QUERY");

if ($query->num_rows() > 0) //jika data ada di database
{
   $this->session->set_flashdata('status', 'Email yang anda masukkan sudah terdaftar');
   redirect('login');
}

Script di atas adalah salah satu contoh penggunaan num_rows untuk mengecek apakah sebuah email sudah pernah di daftarkan di sistem.

3. return result() codeigniter

Return result() di codeigniter sering digunakan untuk menampilkan semua data yang ada pada tabel. Sebagai contoh data tabel siswa di atas ingin kita tampilkan semua data nama siswa.

Untuk menampilkan nama siswa tersebut kita buat function pada model sebagai berikut:

public function get_data(){
		return $query = $this->db->get('siswa')->result();
	}

Untuk melihat output data tersebut silahkan buat function di controller sebagai berikut:

public function data_siswa(){
		$data = $this->siswa_model->get_data();	
		foreach ($data as $key ) {			
		echo $key->nama."<br/>";
		}
	}

Output function result():

Ade Kurniawan
Bayu Saputra

Dapat dilihat result dari data yang kita return ditampilkan melalui foreach dan menggunakan $key->nama.

Selanjutnya kita juga bisa menampilkan dalam bentuk $key[‘nama’]. Namun bagaimanakah membuat model untuk menampilkan data berdasarkan index key assosiatif array tersebut ?.

Untuk menampilkannya kita menggunakan result_array. silahkan buat contoh berikut untuk memahaminya:

4.return result_array() codeigniter

Silahkan buat function baru di model sebagai berikut:

public function get_data2(){
		return $query = $this->db->get('siswa')->result_array();
	}

Selanjutnya buat function baru pada controller sebagai berikut:

public function data_siswa2(){
		$data = $this->siswa_model->get_data2();	
		foreach ($data as $key ) {			
		echo $key['nama']."<br/>";
		}
	}

Output :

Ade Kurniawan
Bayu Saputra

Hasil dari return result() dan result_array di atas tetap sama namun dalam cara menampilkannya memiliki perbedaan.

Untuk menampilkan result() kita menggunakan $data->nama sedangkan untuk menampilkan result_array() kita menggunakan $data[‘nama].

Perintah row() result() dan result_array di atas memiliki fungsi untuk return data namun terdapat perbedaan dalam penggunaannya sesuai dengan kebutuhan.


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *