Setup table di database menggunakan database forge class pada codeigniter

Setup table di database menggunakan database forge class pada codeigniter

Hello sahabat programmer, gimana kabarnya? Semoga sehat selalu ya.!

Satu tahun yang lalu, saya tertarik untuk membuat CMS (Content Management System). Berhubung kesibukan mengerjakan project tidak ada habisnya, akhirnya keinginan itu sampai saat ini belum tercapai juga.

Saya sangat berharap bisa mengerjakan CMS yang tertunda ini sesegera mungkin. Akan tetapi, jika saya tidak mampu mewujudkan keinginan ini saya harap akan ada diantara teman-teman yang mewujudkannya.

Itulah alasan saya memulis artikel kali ini.

Framework PHP Codeigniter merupakan salah satu framework php terbaik didunia saat ini. Framework ini akan sangat membantu mempermudah teman-teman dalam membuat CMS.

Selain memiliki library dan helper yang lengkap juga tersedia class aktif yang siap digunakan.

Untuk membuat CMS, tentu saja end user (pengguna akhir) dari CMS yang anda buat tidak perlu lagi membuat table-table serta schema database agar CMS tersebut berjalan dengan baik.

Untuk mengatasi masalah tersebut codeigniter telah menyiapkan sebuah kelas dengan nama database forge class.

Dengan memanfaat kelas ini, end user dapat membuat tabel-tabel dengan klik tombol dan sebagainya.

Hal ini sangat membantu anda untuk membuat CMS dan akan memberikan pengalaman yang tak terlupakan oleh end-user.

Ok, langsung saja. Pada artikel kali ini, saya akan menjabarkan bagaimana kelas dbforge ini bekerja.

Pada dasarnya kelas ini hampir bisa melakukan semua fungsi DDL (Data Definition Language). Baik itu CREATE, ALTER, maupun DROP. Kelas ini juga bisa digunakan untuk mendefinisikan storage engine seperti MyISAM maupun InnoDB.

Tapi, pada tutorial kali ini, saya hanyakan akan menjabarkan bagai mana proses pembuatan tabel (CREATE TABLE) menggunakan kelas dbforge ini.

Hmm., kenapa hanya CREATE TABLE?. Ya, kerana jika anda mengerti bagaimana membuat tabel menggunakan kelas ini, maka anda akan mengerti fungsi yang lainnya dengan hanya melihat user guide bawaan codeigniter.

Ok, karena saya hanya menjabarkan kan fungsi CREATE TABLE, jadi kita terpaksa membuat sebuah database. Untuk membuat database, silahkan buka phpmyadmin atau tools lainnya yang biasa anda gunakan.

Disni saya membuat sebuah database dengan nama db_forge. Adapun querynya sebagai berikut:

CREATE DATABASE db_forge;

Jika selesai silahkan ikuti langkah berikut:

 

1. Install codeigniter

Extract codeigniter ke www (jika menggunakan wampserver) atau htdocs (jika menggunakan XAMPP). Kemudian rename project codeigniter anda sesuai dengan project Anda. Disini penulis memberi nama ci_dbforge.

Setelah installasi, buat folder assets di dalam ci_dbforge dan masukan bootstrap didalam folder assets untuk style.

Jika anda masih bingung dengan penjelasan diatas, jangan khawatir anda bisa mempelajarinya pada source code yang telah saya sediakan diakhir tutorial ini.

 

2. Konfigusai beberapa file berikut:

Buka application/config/autoload.php atur menjadi seperti berikut:

$autoload['libraries'] = array('database');
$autoload['helper'] = array('url');

Buka application/config/config.php dan atur menjadi seperti berikut:

$config['base_url'] = 'http://localhost/ci_dbforge/';

Terakhir buka application/config/database.php

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'db_forge',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => (ENVIRONMENT !== 'production'),
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
);

 

3. Buat controller dengan nama Setup.php dengan kode sebagai berikut:

<?php
class Setup extends CI_Controller{
        function __construct(){
                parent::__construct();
                $this->load->dbforge();
                $this->load->library('session');
        } 

        function index(){
                $this->load->view('setup_view');
        }


        function create_table_blog(){
                $fields = array(
                'blog_id' => array(
                        'type' => 'INT',
                        'constraint' => 5,
                        'unsigned' => TRUE,
                        'auto_increment' => TRUE
                ),
                'blog_title' => array(
                        'type' => 'VARCHAR',
                        'constraint' => '100',
                        'unique' => TRUE,
                ),
                'blog_author' => array(
                        'type' =>'VARCHAR',
                        'constraint' => '100',
                        'default' => '',
                ),
                'blog_description' => array(
                        'type' => 'TEXT',
                        'null' => TRUE,
                ),
                );
                $this->dbforge->add_key('blog_id', TRUE);
                $this->dbforge->add_field($fields);
                $this->dbforge->create_table('tbl_blog');
                echo $this->session->set_flashdata('msg','Table Blog Created!');
                redirect('setup');
        }

        function create_table_user(){
                $fields = array(
                'user_id' => array(
                        'type' => 'INT',
                        'constraint' => 5,
                        'unsigned' => TRUE,
                        'auto_increment' => TRUE
                ),
                'user_username' => array(
                        'type' => 'VARCHAR',
                        'constraint' => '50',
                        'unique' => TRUE,
                ),
                'user_password' => array(
                        'type' =>'VARCHAR',
                        'constraint' => '100',
                ),
                
                );
                $this->dbforge->add_key('user_id', TRUE);
                $this->dbforge->add_field($fields);
                $this->dbforge->create_table('tbl_user');
                echo $this->session->set_flashdata('msg','Table User Created!');
                redirect('setup');
        }
}

 

4. Buat view dengan nama setup_view.php dengan kode sebagai berikut:

<!DOCTYPE html>
<html>
<head>
        <title></title>
        <link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/bootstrap.css'?>">
</head>
<body>
<div class="container">
<br/>
<?php echo $this->session->flashdata('msg');?>
        <h2>Setup Database</h2>
                <a href="<?php echo base_url().'index.php/setup/create_table_user'?>" class="btn btn-success">Create Table User</a>
                <a href="<?php echo base_url().'index.php/setup/create_table_blog'?>" class="btn btn-success">Create Table Blog</a>
</div>
<script type="text/javascript" src="<?php echo base_url().'assets/js/bootstrap.js'?>"></script>
</body>
</html>

Jika selesai, jalankan controller setup dengan mengunjungi URL berikut:

http://localhost/ci_dbforge/index.php/setup

maka akan tapil 2 buah tombol yaitu tombol Create Table User dan Create Table Blog. Klik tombol Create Table User untuk membuat table user pada database db_forge, dan klik tombol Create Table Blog untuk membuat table blog pada database db_forge.

Anda juga bisa membuat tabel lainnya dengan mengkopi function create_table_user() atau create_table_blog(). Lakukan perubahan pada field-nya lalu lihat hasilnya.

Ok, sekian dulu tutuorial kali ini, semoga bermanfaat dan Keep Coding!

Download Source

Share:




LAINNYA UNTUK ANDA


Komentar (0)

Leave a Comment