codeigniter:mntk tlg..
9 replies [Last post]
yo!
kenji's picture
User offline. Last seen 2 years 40 weeks ago. Offline
Joined: 09/28/2010
Points: 19

cmna nk display kt view page,data yg hanya berkaitan dengn userdata..cntohnya,user1 login n then display smua task2 yg dia buat(ambk dr db) berpandukan userid yg ada kt 'session->userdata()'(ini apa yg sy faham n mgkn konsep ni lain sket kt CI)..otai2 CI kt sini leh tlg bg idea x cne nk buat..sy x dpt nk tnjuk cnth code sbb sy pn dah lost n tngh pikir nk buat cne.. Crying

does not have a status.
hafizul's picture
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 08/18/2009
Points: 332

Tidak pasti samada cara ini praktikal atau tidak.
Aku pun tengah cari juga cara yang terbaik untuk buat macam itu.

Kalau ikut idea aku, aku buat macam ini..
Mula-mula, buat helper baru, contoh:

helpers/users_helper.php

<?php
if ( ! function_exists('user_id'))
{
   function
user_id()
   {
    
$CI =& get_instance();
     return
$CI->session->userdata('user_id')
   }
}
?>

Kemudian, autoload helper tu pada fail config.php

config/config.php

<?php
.
.
.

$autoload['helper'] = array('url','form','users'); // tambah users

.
.
.
?>

Last sekali, boleh guna helper tu pada model atau controller, contoh:

model/user_m.php

<?php
class User_m extends Model {

    function
get_by_user_id() {
       
$this->db->where('id',user_id());
       
$query = $this->db->get('users');
        return
$query->row();
    }
}
?>

Harap-harap ada orang lain yang boleh bagi cara yang terbaik
bagi masalah ini.

p/s: Kenji, di forum php.net.my ini, kita tidak digalakkan untuk tulis menggunakan
perkataan ringkas, kalau boleh taip perkataan penuh supaya orang lain mudah faham.

ibnuyahya.com
User offline. Last seen 28 weeks 5 days ago. Offline
Joined: 08/16/2009
Points: 243

dah betul la konsep tu. cuma pada aku, aku lebih suka macam ni.

<?php
class User_m extends Model {

    function
get_by_user_id($user_id) {
       
$this->db->where('id',$user_id);
       
$query = $this->db->get('users');
        return
$query->row();
    }
}
?>

supaya function get_by_user_id() ni boleh di guna pakai secara umum.

does not have a status.
hafizul's picture
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 08/18/2009
Points: 332

Yup ibnuyahya, itu idea yang bagus.

yo!
kenji's picture
User offline. Last seen 2 years 40 weeks ago. Offline
Joined: 09/28/2010
Points: 19

nampak menarik..saya tak sampai level nak buat helper baru lagi..hehe..tapi saya akan cuba dulu..thnx guys! Smile

yo!
kenji's picture
User offline. Last seen 2 years 40 weeks ago. Offline
Joined: 09/28/2010
Points: 19

hafizul wrote:

Tidak pasti samada cara ini praktikal atau tidak. Aku pun tengah cari juga cara yang terbaik untuk buat macam itu.

Kalau ikut idea aku, aku buat macam ini..
Mula-mula, buat helper baru, contoh:

helpers/users_helper.php

<?php
if ( ! function_exists('user_id'))
{
   function
user_id()
   {
    
$CI =& get_instance();
     return
$CI->session->userdata('user_id')
   }
}
?>

Kemudian, autoload helper tu pada fail config.php

config/config.php

<?php
.
.
.

$autoload['helper'] = array('url','form','users'); // tambah users

.
.
.
?>

Last sekali, boleh guna helper tu pada model atau controller, contoh:

model/user_m.php

<?php
class User_m extends Model {

    function
get_by_user_id() {
       
$this->db->where('id',user_id());
       
$query = $this->db->get('users');
        return
$query->row();
    }
}
?>

Harap-harap ada orang lain yang boleh bagi cara yang terbaik
bagi masalah ini.


saya faham sikit-sikit..tapi bro hafizul,boleh tak kalau paste kan di sini simple code untuk function yang akan panggil model ni dalam controller dan view sebab saya tak berapa faham macamana 'user_id' ni akan rujuk kepada 'session->userdata()' sebab tidak ada parameter yang menjadi rujukan di dalam get_by_user_id()..minta maaf kalau penerangan saya ni megelirukan..

yo!
kenji's picture
User offline. Last seen 2 years 40 weeks ago. Offline
Joined: 09/28/2010
Points: 19

yeah!!..saya dah faham apa yang korang bagi kat atas dan berjaya buat..hehe..terima kasih bebanyak bro hafizul and bro ibnuyahya.. Big smile

Codeigniter Freelancer
User offline. Last seen 1 year 26 weeks ago. Offline
Joined: 08/16/2009
Points: 39

pada pendapat aku tak sesuai sebenarnya buat helper untuk user_id . helper ni sebenarnya digunakan untuk kita bina function untuk keperluan umum contohnya nak convert date ke mysql format. user_id adalah satu pemboleh ubah yang fleksibel. kalau yang ibnuyahya tu agak sesuai.

does not have a status.
hafizul's picture
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 08/18/2009
Points: 332

Hmm.. aku setuju dengan kau, ibanez

Kenji, aku rasa tidak perlu guna helper

Cara yang sesuai mungkin macam ini

model/user_m.php

<?php
class User_m extends Model {

    function
get_by_user_id($user_id) {
       
$this->db->where('id',$user_id);
       
$query = $this->db->get('users');
        return
$query->row();
    }
}
?>

controller/pages.php

<?php
class Pages extends Controller {

    function
index() {
     
      
// Load library
      
$this->load->library('session');

      
// Load model
      
$this->load->model('user_m');

      
$user_id = $this->session->userdata('user_id');

      
$data['user_row'] = $this->user_m->get_by_user_id($user_id);   

      
// Load view
      
$this->load->view('page_view',$data);

    }
}
?>

yo!
kenji's picture
User offline. Last seen 2 years 40 weeks ago. Offline
Joined: 09/28/2010
Points: 19

ok..saya dah cuba kedua-dua cara dan berjaya buat..thanks guys.. Big smile