Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TUTORIAL CI - Grocerycrud - Contoh Relasi manual dan auto value multiselect
#1
Berikut contoh relasi manual:

PHP Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class 
Pegawai extends OperatorController {

    public function 
__construct() {
        
parent::__construct();    
    }    
    
    public function 
index() {
        
$this->data['judul_browser'] = 'Data Pegawai';
        
$this->data['judul_utama'] = 'Data';
        
$this->data['judul_sub'] = 'Pegawai';

        
$this->output->set_template('gc');

        
$this->load->library('grocery_CRUD');
        
$crud = new grocery_CRUD();
        
$crud->set_table('tbl_data_pegawai');
        
$crud->set_subject('Data Pegawai');

        
$crud->columns('nama_lengkap''jns_kelamin''telepon','jabatan_ids''aktif''keterangan');
        
$crud->fields('nama_lengkap''jns_kelamin','jabatan_ids''alamat''tgl_lahir''kota_lahir''telepon','email','aktif','keterangan');

        
$crud->field_type('jns_kelamin','dropdown',
            array(
'L' => 'Laki-laki','P' => 'Perempuan','N' => 'Belum diketahui'));
        
$crud->field_type('aktif','dropdown',
            array(
'Y' => 'Aktif','N' => 'Non Aktif'));

        
$this->db->select('id,jabatan');
        
$this->db->from('tbl_jabatan');
        
$this->db->where('aktif','Y');
        
$query $this->db->get();
        if(
$query->num_rows()>0){
            
$result $query->result();
            foreach (
$result as $val) {
                
$jabatan_arr[$val->id] = $val->jabatan;
            }
        } else {
            
$jabatan_arr = array('' => '-');
        }
        
$crud->field_type('jabatan_ids','multiselect',$jabatan_arr);

        
$crud->callback_column('alamat',array($this'_full_text'));
        
$crud->callback_column('keterangan',array($this'_full_text'));

        
$crud->display_as('jns_kelamin','Jenis Kelamin');
        
$crud->display_as('jabatan_ids','Jabatan');
    
        
$crud->required_fields('nama_lengkap','jabatan','jns_kelamin','aktif');

        
$output $crud->render();

        
$out['output'] = $this->data['judul_browser'];
        
$this->load->section('judul_browser''default_v'$out);
        
$out['output'] = $this->data['judul_utama'];
        
$this->load->section('judul_utama''default_v'$out);
        
$out['output'] = $this->data['judul_sub'];
        
$this->load->section('judul_sub''default_v'$out);
        
$out['output'] = $this->data['u_name'];
        
$this->load->section('u_name''default_v'$out);

        
$this->load->view('default_v'$output);

    }

    function 
_full_text ($value$row){
        
$value wordwrap($value25'<br>');
        return 
$value;
    }



Berikut contoh relasi auto, link relasi nya oleh nama field id:

PHP Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class 
Siswa extends OperatorController {

    public function 
__construct() {
        
parent::__construct();    
    }    
    
    public function 
index() {
        
$this->data['judul_browser'] = 'Data Siswa';
        
$this->data['judul_utama'] = 'Data';
        
$this->data['judul_sub'] = 'Siswa';

        
$this->output->set_template('gc');

        
$this->load->library('grocery_CRUD');
        
$crud = new grocery_CRUD();
        
$crud->set_table('tbl_data_siswa');
        
$crud->set_subject('Data Siswa');

        
$crud->columns('nama_lengkap''jns_kelamin''telepon''kelompok_id''kelas_id''ekskul_ids''aktif''keterangan');
        
$crud->fields('nama_lengkap''jns_kelamin''alamat''tgl_lahir''kota_lahir''telepon''nama_ortu','kelompok_id''kelas_id','ekskul_ids''aktif','keterangan');

        
$crud->field_type('jns_kelamin','dropdown',
            array(
'L' => 'Laki-laki','P' => 'Perempuan','N' => 'Belum diketahui'));
        
$crud->field_type('aktif','dropdown',
            array(
'Y' => 'Aktif','N' => 'Non Aktif'));

        
$crud->set_relation('kelompok_id','tbl_kelompok','nama_kelompok');
        
$crud->set_relation('kelas_id','tbl_kelas','nama_kelas');

        
$this->db->select('id,nama_ekskul');
        
$this->db->from('tbl_ekskul');
        
$this->db->where('aktif','Y');
        
$query $this->db->get();
        if(
$query->num_rows()>0){
            
$result $query->result();
            foreach (
$result as $val) {
                
$ekskul_arr[$val->id] = $val->nama_ekskul;
            }
        } else {
            
$ekskul_arr = array('' => '-');
        }
        
$crud->field_type('ekskul_ids','multiselect',$ekskul_arr);

        
$crud->callback_column('alamat',array($this'_full_text'));
        
$crud->callback_column('keterangan',array($this'_full_text'));

        
$crud->order_by('nama_lengkap''ASC');

        
$crud->display_as('jns_kelamin','Jenis Kelamin');
        
$crud->display_as('ekskul_ids','Ekstrakulikuler');
        
$crud->display_as('kelas_id','Kelas');
        
$crud->display_as('kelompok_id','Kelompok');

        
$crud->required_fields('nama_lengkap','jns_kelamin','aktif','kelompok_id''kelas_id');

        
$output $crud->render();

        
$out['output'] = $this->data['judul_browser'];
        
$this->load->section('judul_browser''default_v'$out);
        
$out['output'] = $this->data['judul_utama'];
        
$this->load->section('judul_utama''default_v'$out);
        
$out['output'] = $this->data['judul_sub'];
        
$this->load->section('judul_sub''default_v'$out);
        
$out['output'] = $this->data['u_name'];
        
$this->load->section('u_name''default_v'$out);

        
$this->load->view('default_v'$output);

    }

    function 
_full_text ($value$row){
        
$value wordwrap($value25'<br>');
        return 
$value;
    }

Reply
#2
aku lebih suka pakai relasi auto
Reply
#3
mending pakek yang manual engk terlalu ribet
Reply
#4
kalau untuk orang pemula bekerja bagus pakek yang mana pak
Reply
#5
Hasil dari relasi manual atau automatis ini keren banget
Bingung cari distributor tali lanyard murah di Surabaya Kunjungi saja showroom kami di Tenggilis Mejoyo Selatan X / M03
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)