Skip to main content

mengambil data dari model ke controller

November 3, 2010 by amirrachman

amirrachman's picture

dear para master saya punya pertanyaan bagaimana cara mengambil data dari model ke controller.

contoh model saya :

  var $table = 'user';
 
	function check_user($username, $password)
	{
		$query = $this->db->get_where($this->table, array('username' => $username, 'password' => md5($password)), 1, 0);
 
 
		//store result from database in variable
		 $result = $query->result_array();
 
			if ($query->num_rows() > 0)
			{
				return $result;
			}
			else
			{
				return FALSE;
			}
	}

di controller

$check_login = $this->modelLogin->check_user($username, $password)
 
print_r($check_login);

setelah saya cetak, hasilnya seperti ini :

Array ( [0] => Array ( [Id] => 1 [username] => admin [password] => 21232f297a57a5a743894a0e4a801fc3 [usergroup] => Administrator ) ) 

yang saya inginkan, outputnya hanya "Administrator" saja, gimana cara cetaknya :)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

@ all thank's

November 3, 2010 by amirrachman, 16 weeks 6 days ago
Comment: 7338

amirrachman's picture

@mas syabac

ternyata function nya yang salah,

if($query->num-rows() > 0)

harusnya :

if($query->num_rows() > 0)

menggunakan "_" underscore,, btw, thx mas,, setelah saya

$check_login = $this->modelLogin->check_user($username, $password)

saya print,, saya mendapatkan hasil yang saya inginkan,, yaitu array "usergroup",, thank's mas

RE: mengambil data dari model ke controller

November 3, 2010 by heidymadia, 16 weeks 6 days ago
Comment: 7331

heidymadia's picture

Mas Amirrahman,

Dari postingan mas diatas yang saya bisa ambil adalah
" fungsi di model yang menapilkan usergroup berdasarkan username dan password

Jika memang iya,

coba deh line ini diganti dengan

$query = $this->db->get_where($this->table, array('username' => $username, 'password' => md5($password)), 1, 0);

cara 1
Dengan metode chaining.
Cara diberitahu oleh kolega saya dikantor yang sudah resign. (Thanks Yasir).

Dengan cara lebih terlihat logika sqlnya dan lebih bersahabat dengan mata kita

$array_where = array('username' => $username, 'password' => md5($password));
$this->db->select(usergroup);
$this->db->where($array_where);
$this->db->from($this->table);
$this->db->limit(1, 0);
$this->db->get();

Sebagai tambahan $this->db->get, dan $this->db->get_where akan menampilkan semua fields

Sebenarnya jawaban ini sama seperti jawaban mas syabac di bawah :P

trims pak sebelumnya,, tapi

November 3, 2010 by amirrachman, 16 weeks 6 days ago
Comment: 7337

amirrachman's picture

trims pak sebelumnya,, tapi saya udah coba dapat error yang sama seperti yang saya reply di mas syabac

Severity: Notice
 
Message: Undefined property: CI_DB_mysql_result::$num
 
Filename: models/modelLogin.php
 
Line Number: 25
 
Fatal error: Call to undefined function rows() in E:\xampp\htdocs\techmahindra\system\application\models\modelLogin.php on line 25

kayaknya ada yang kurang telitih nih

November 3, 2010 by heidymadia, 16 weeks 6 days ago
Comment: 7339

heidymadia's picture

mas amirrahman

Kayaknya ada yang kurang teliti nih
bukan
$query->num-rows()
tapi
$query->num_rows()

Mas amir bisa aja nih becandanya

:D

cuma mau ngasih semangat...

November 3, 2010 by muhginanjar, 16 weeks 6 days ago
Comment: 7330

muhginanjar's picture

ayo semangat......

thank's

November 3, 2010 by amirrachman, 16 weeks 6 days ago
Comment: 7336

amirrachman's picture

thank's

Return-nya Mau Apa?

November 3, 2010 by Delina, 17 weeks 8 hours ago
Comment: 7327

Delina's picture

Sepertinya mesti jelas dulu, apakah fungsi function check_user($username, $password) tersebut untuk mengecek user saja, atau ingin mendapatkan data user.

Baris $result = $query->result_array() akan menghasilkan data dalam bentuk array, dari untuk mendapatkan data user harus dipecah kembali menjadi:

$check_login = $this->modelLogin->check_user($username, $password);
$nama_user = $check_login['username'];

Jika hanya cek user saja, cukup dengan:

function check_user($username, $password)
{
$query = $this->db->get_where($this->table, array('username' => $username, 'password' => md5($password)), 1, 0);
	if ($query->num_rows() > 0)
	{
	return TRUE;
	}
	else
	{
	return FALSE;
	}
}

yang saya inginkan hasil

November 3, 2010 by amirrachman, 16 weeks 6 days ago
Comment: 7334

amirrachman's picture

yang saya inginkan hasil returnnya,, adalah saya mau menampilkan usergroup yang katakanlah username nya admin maka usergroup nya adalah "Administrator", mengambil dari database,, saya sudah coba cara di atas,, tapi gak bisa,,errornya seperti ini :

ini scriptnya :

if ($check_login = $this->modelLogin->check_user($username, $password))
			{
				$usergroup = $check_login['usergroup'];
 
				$data = array('username' => $username, 'login' => TRUE, 'usergroup' => $usergroup);
				$this->session->set_userdata($data);
				//redirect('passport');
				/*$check_login = $this->modelLogin->check_user($username, $password);*/
 
				print_r($data); exit;
			}

A PHP Error was encountered
 
Severity: Notice
 
Message: Undefined index: usergroup
 
Filename: controllers/login.php
 
Line Number: 55

BLS:

November 3, 2010 by syabac, 17 weeks 9 hours ago
Comment: 7325

syabac's picture

coba begini:

function check_user($username, $password){
   $query = $this->db->select('usergroup')
           ->from($this->table)
           ->where('username', $username)
           ->where('password', md5($password))
           ->limit(1)
           ->get();
   if($query->num-rows() > 0)
      return $query->row()->usergroup;
   return false;
}

saya sudah rubah mas,, malah

November 3, 2010 by amirrachman, 16 weeks 6 days ago
Comment: 7335

amirrachman's picture

saya sudah rubah mas,, malah ada error seperti ini :

A PHP Error was encountered

Severity: Notice
 
Message: Undefined property: CI_DB_mysql_result::$num
 
Filename: models/modelLogin.php
 
Line Number: 25
 
Fatal error: Call to undefined function rows() in E:\xampp\htdocs\techmahindra\system\application\models\modelLogin.php on line 25

Premium Drupal Themes by Adaptivethemes