Selamat siang Blogger semua. Hmm.... habis makan siang emang buat kita mulai mengantuk... Yuk tidur siang... EHHH... Daripada tidur sian...
Selamat siang Blogger semua. Hmm.... habis makan siang emang buat kita mulai mengantuk... Yuk tidur siang... EHHH...
Daripada tidur siang mending kita berbagi dulu....
Sep lah posting lagi.
Kali ini saya akan berbagi pengalaman dalam membuat aplikasi menggunakan codeigniter. Nah, kali ini saya akan berbagi tentang penggunaan database dalam codeigniter dan implementasinya.
Dalam Codeigniter untuk membuat pengaturan koneksi terdapat pada file database.php di root application/config. Isinya seperti dibawah ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'nama host/ip/localhost';
$db['default']['username'] = 'username pada server host';
$db['default']['password'] = 'password jika ada';
$db['default']['database'] = 'nama database yang digunakan';
$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;
/* End of file database.php */
/* Location: ./application/config/database.php */
Nah sudah lihat penampakannya kan. Mari kita lanjutkan. Dikantor saya memiliki beberapa aplikasi yang databasenya saling bersangkutan satu dengan yang lain. sebenarnya bisa disatukan, namun sehubungan dengan hak cipta dan kebijakan perusahaan jadi kita tidak bisa mengubah sesuai keingin kita deh. Mau ga mau setiap membuat aplikasi baru yang berhubungan dengan database yang lain ya harus di komparasi deh.
Terus gimana koneksi multi database nya ?
Sesuai dengan cara dan gaya saya : (pemirsa juga bisa gunakan gaya pemirsa masing-masing. Heheheehe).
Kita buat 2 set database di file database.php dalam root "application/config/" dengan nama "db1" dan "db2" tadi menjadi seperti dibawah ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$active_group = 'default';
$active_record = TRUE;
// Setting untuk database 1
$db['db1']['hostname'] = 'nama host/ip/localhost';
$db['db1']['username'] = 'username untuk host server';
$db['db1']['password'] = 'password jika ada';
$db['db1']['database'] = 'nama database';
$db['db1']['dbdriver'] = 'mysql';
$db['db1']['dbprefix'] = '';
$db['db1']['pconnect'] = TRUE;
$db['db1']['db_debug'] = TRUE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_general_ci';
$db['db1']['swap_pre'] = '';
$db['db1']['autoinit'] = TRUE;
$db['db1']['stricton'] = FALSE;
// Setting untuk database 2
$db['db2']['hostname'] = 'nama host/ip/localhost';
$db['db2']['username'] = 'username untuk host server';
$db['db2']['password'] = 'password jika ada';
$db['db2']['database'] = 'nama database';
$db['db2']['dbdriver'] = 'mysql';
$db['db2']['dbprefix'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = TRUE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_general_ci';
$db['db2']['swap_pre'] = '';
$db['db2']['autoinit'] = TRUE;
$db['db2']['stricton'] = FALSE;
// Setting untuk database 2 dan seterusnya jika ada
/* End of file database.php */
/* Location: ./application/config/database.php */
nah pengaturan kedua database diatas hampir sama karena saya menggunakan jenis host dan server yang sama, tapi saya beri warna untuk yang memiliki perbedaan. penjelasan nya sebagai berikut :
'db1' dan db2 nama untuk database harus berbeda. jika tidak maka saat pemanggilan database maka model codeigniternya akan bingung dan terjadi error.
$db['db1']['pconnect'] = TRUE; dan $db['db2']['pconnect'] = FALSE; adalah pengaturan untuk koneksi ke semua model codeigniter secara langsung melalui db_driver.php di root "system/database" di root host applikasi codeigniter kita masing - masing.
Loh Kok ada yang TRUE dan ada yang FALSE ?
Yups, benar sekali. "TRUE" pada config "pconnect" adalah access langsung saat identifikasi aplikasi dengan database. TRUE digunakan jika database tersebut adalah database default atau database utama yang kita gunakan dalam aplikasi codeigniter dan jika kita sudah memanggil database secara langsung di file "autoload.php" pada root "application/config/". sedangkan ['pconnect'] = FALSE; digunakan jika database tersebut hanya digunakan untuk keperluan minoritas atau digunakan hanya jika diperlukan dalam fungsi atau modul tertentu saja.
CARA PENGGUNAANNYA :
biasanya kita menggunakan database dan querynya pada model di codeigniter.
Semoga berhasil dan selamat berkarya
Daripada tidur siang mending kita berbagi dulu....
Sep lah posting lagi.
Kali ini saya akan berbagi pengalaman dalam membuat aplikasi menggunakan codeigniter. Nah, kali ini saya akan berbagi tentang penggunaan database dalam codeigniter dan implementasinya.
Dalam Codeigniter untuk membuat pengaturan koneksi terdapat pada file database.php di root application/config. Isinya seperti dibawah ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'nama host/ip/localhost';
$db['default']['username'] = 'username pada server host';
$db['default']['password'] = 'password jika ada';
$db['default']['database'] = 'nama database yang digunakan';
$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;
/* End of file database.php */
/* Location: ./application/config/database.php */
Nah sudah lihat penampakannya kan. Mari kita lanjutkan. Dikantor saya memiliki beberapa aplikasi yang databasenya saling bersangkutan satu dengan yang lain. sebenarnya bisa disatukan, namun sehubungan dengan hak cipta dan kebijakan perusahaan jadi kita tidak bisa mengubah sesuai keingin kita deh. Mau ga mau setiap membuat aplikasi baru yang berhubungan dengan database yang lain ya harus di komparasi deh.
Terus gimana koneksi multi database nya ?
Sesuai dengan cara dan gaya saya : (pemirsa juga bisa gunakan gaya pemirsa masing-masing. Heheheehe).
Kita buat 2 set database di file database.php dalam root "application/config/" dengan nama "db1" dan "db2" tadi menjadi seperti dibawah ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$active_group = 'default';
$active_record = TRUE;
// Setting untuk database 1
$db['db1']['hostname'] = 'nama host/ip/localhost';
$db['db1']['username'] = 'username untuk host server';
$db['db1']['password'] = 'password jika ada';
$db['db1']['database'] = 'nama database';
$db['db1']['dbdriver'] = 'mysql';
$db['db1']['dbprefix'] = '';
$db['db1']['pconnect'] = TRUE;
$db['db1']['db_debug'] = TRUE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_general_ci';
$db['db1']['swap_pre'] = '';
$db['db1']['autoinit'] = TRUE;
$db['db1']['stricton'] = FALSE;
// Setting untuk database 2
$db['db2']['hostname'] = 'nama host/ip/localhost';
$db['db2']['username'] = 'username untuk host server';
$db['db2']['password'] = 'password jika ada';
$db['db2']['database'] = 'nama database';
$db['db2']['dbdriver'] = 'mysql';
$db['db2']['dbprefix'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = TRUE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_general_ci';
$db['db2']['swap_pre'] = '';
$db['db2']['autoinit'] = TRUE;
$db['db2']['stricton'] = FALSE;
// Setting untuk database 2 dan seterusnya jika ada
/* End of file database.php */
/* Location: ./application/config/database.php */
nah pengaturan kedua database diatas hampir sama karena saya menggunakan jenis host dan server yang sama, tapi saya beri warna untuk yang memiliki perbedaan. penjelasan nya sebagai berikut :
'db1' dan db2 nama untuk database harus berbeda. jika tidak maka saat pemanggilan database maka model codeigniternya akan bingung dan terjadi error.
$db['db1']['pconnect'] = TRUE; dan $db['db2']['pconnect'] = FALSE; adalah pengaturan untuk koneksi ke semua model codeigniter secara langsung melalui db_driver.php di root "system/database" di root host applikasi codeigniter kita masing - masing.
Loh Kok ada yang TRUE dan ada yang FALSE ?
Yups, benar sekali. "TRUE" pada config "pconnect" adalah access langsung saat identifikasi aplikasi dengan database. TRUE digunakan jika database tersebut adalah database default atau database utama yang kita gunakan dalam aplikasi codeigniter dan jika kita sudah memanggil database secara langsung di file "autoload.php" pada root "application/config/". sedangkan ['pconnect'] = FALSE; digunakan jika database tersebut hanya digunakan untuk keperluan minoritas atau digunakan hanya jika diperlukan dalam fungsi atau modul tertentu saja.
CARA PENGGUNAANNYA :
biasanya kita menggunakan database dan querynya pada model di codeigniter.
- Buatlah sebuah model pada codeigniter
- Buatlah sebuah general variable untuk bisa dikenali diseluruh fungsi dalam model tersebut dan buatlah funsi __construct jika belum ada seperti code dibawah ini :
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Nama_model extends CI_Model{
public $CI; // general variable berada diluar seluruh function
function __construct()
{
parent::__construct();
$CI = &get_instance(); // sesuai dengan nama nya get_instance agar variable $CI dapat digunakan secara instan hehehehhe....
$this->DB2 = $CI->load->database('db2', TRUE); // load database "db2" karena ['pconnect'] = 'FALSE'
}
function buatan_kita()
{
// kita gunakan kedua database tersebut
// query ini berlaku untuk database "db1" yang menjadi default database kita tadi
$this->db->select(*)->from('nama_table')->get;
// query ini berlaku untuk database "db2" yang menjadi database tambahan yang telah kita definisikan di function__construct diatas
$this->DB2->select(*)->from('nama table dari DB2')->get;
}
}
Nah, kesimpulannya jika kita menggunakan 2 atau lebih database pada satu aplikasi codeigniter set pada file database.php tersebut diatas dengan nama database yang berbeda contoh : db1, db2, db3, dst...
lalu setting ['pconnect'] = TRUE jika database tersebut yang menjadi database utama dan hanya salah satu saja tidak boleh lebih. Kemudian database yang lainnya set menjadi ['pconnect'] = FALSE
Semoga berhasil dan selamat berkarya