cara membuat multi database koneksi pada codeigniter

salam, sehat selalu dan tetap semangat, kali ini saya akan menjelaskan tentang cara membuat koneksi multi database dan switch database yang memungkinkan dalam satu framework codeigniter bisa terkoneksi lebih dinamis, okey langsung saja,
ini stepnya.

1. membuat koneksi database pada folder config, buka file database.php
2. membuat fungsi pada library caranya, buat sebuah file pada folder library general.php
3. merubah isi file route sesuai link yg akan kita tentukan
4. memanggil fungsi general dengan meletakan di class general pada autoload.php
5. membuat session untuk memanggil general tersebut

okey mungkin agak pusing sedikit memahami yg saya terangkan, kita langsung saja ke koding

step 1
sisipkan script ini pada file database.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'database_name';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

$db['default2']['hostname'] = 'localhost';
$db['default2']['username'] = 'root';
$db['default2']['password'] = '';
$db['default2']['database'] = 'database_name2';
$db['default2']['dbdriver'] = 'mysql';
$db['default2']['dbprefix'] = '';
$db['default2']['pconnect'] = TRUE;
$db['default2']['db_debug'] = TRUE;
$db['default2']['cache_on'] = FALSE;
$db['default2']['cachedir'] = '';
$db['default2']['char_set'] = 'utf8';
$db['default2']['dbcollat'] = 'utf8_general_ci';
$db['default2']['swap_pre'] = '';
$db['default2']['autoinit'] = TRUE;
$db['default2']['stricton'] = FALSE;

step 2
membuat file general.php yang di letakan pada folder libraries berikut isinya

<?php
class General {
    var $ci;
    function __construct() {
        $this->ci = &get_instance();
    }
    function cek_database() {
        if ($this->ci->session->userdata('client') == "default2"){
            $this->ci->db = $this->ci->load->database('default2', TRUE);
        }  else {
            $this->ci->db = $this->ci->load->database('default', TRUE);
        }
    }
}
?>

step 3
menyisipkan script pada file routes.php



$route['default_controller'] = "home";
$route['default2'] = "home/default2";
$route['404_override'] = '';

step 4
mnyisipkan script pada file autoload.php

$autoload['libraries'] = array('session','form_validation','general');

step 5
membuat fungsi pada saat pertama kali web base url pada codeigniter di panggil, buka folder controller dan bikin file home.php dan bikin fungsi sebagai berikut

  function default2() {
        $sess_data=array('client' => 'default2');
        $this->session->set_userdata($sess_data);
        $this->load->view('index.php');
    }

setelah ke 5 step telah di jalankan kita perlu mengaktifkan atau menjalankan library general tersebut dengan cara

panggillah fungsi general sprti berikut

$this->general->cek_database();

dan letakkan di parent contruction lengkapnya seprti ini

    function __construct(){
        parent::__construct();
        $this->general->cek_database();
    }

selamat mencoba, dan ini sudah berhasil saya gunakan

Komentar

Postingan populer dari blog ini

cara membuat checkbox pada listview vb.net dan dapat di pilih sesuai checkbox yang dipilih

membuat menu jquery bootstrap tanpa reload page

menampilkan data pada power point menggunakan program visual studio 2010