Tutorial Belajar Pemrograman, membuat game, membuat aplikasi, membuat program, android, game maker, yii, php, CSS, HTML, java, javascript, codeigniter, jquery, Pascal, c++

Thursday, December 12, 2013

Relational Active Record Database Yii Framework Bab 2 - Sebelumnya kita sudah membuat tabel relasi kategori dan model kagtegorinya, pada kali ini kita akan melakukan CRUD pada tabel tersebut sehingga data - data pada tabel kategori dapat ditambah, dibaca, diubah, dan di hapus. hal ini sangat penting agar kita lebih mudah dalam mengorganisir relasi kategori dengan buku kita nanti tanpa harus masuk ke dalam database.

Langsung saja kita mulai Relational Active Record Database Yii Framework Bab 2. Jika anda belum pernah membuat databasenya bisa anda lihat Di Sini dan  Jika anda belum menginstal Yii Di localhost anda dapat melihatnya Di Sini.

1. Controller

Buatlah sebuah file PHP baru di dalam direktori protected/controllers dengan nama KategoriController.php, dengan isi script seperti berikut :

<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of KategoriController
 *
 * @author Jin Toples
 */
class KategoriController extends Controller {
    //put your code here
    public $layout='column1';
    const INDEX = 'index';
    
    //function create
    public function actionCreate(){
        $model=new kategori;
        
        if(isset($_POST['kategori'])){
            $model->nama_kategori = $_POST['kategori']['nama_kategori'];
            $model->save();
        }
        
        $this->render('create',array('model'=>$model));
    }
    
    //function index ( read )
    public function actionIndex(){
            $model = new kategori;
            $data= $model->findAll();
            $this->render('index',array('data'=>$data));
    }
    
    //function update
    public function actionUpdate($id){
        $data=new kategori;
        $model=$data->findByPk($id);
        
        if(isset($_POST['kategori'])){
            $model->nama_kategori=$_POST['kategori']['nama_kategori'];
            
            if($model->save()){
                $this->redirect(array('index'));
            }
        }
        
        $this->render('update',array('model'=>$model));
    }
    
    //function delete
    public function actionDelete($id){
        $model = new kategori;
        if($model->deleteByPk($id)){
            $this->redirect(array(self::INDEX));
        }else{
            throw new CHttpException(404,'Data yang di minta tidak tersedia');
        }
    }
}

?>

Penjelasan :
Secara globalnya kita membuat empat buah fungsi yang digunakan untuk melakukan operasi CRUD pada database untuk lebih lengkapnya anda dapat melihat Di Sini.

2. View


Buatlah 3 buah file di dalam direktori protected/view :

a. index.php

<?php
    echo CHtml::link('Tambah Buku', array('buku/create'));
    echo " | ";
    echo CHtml::link('Tambah Kategori', array('create'));
    echo '';
?>

<table style="border-collapse: collapse; border: solid 1px #000; " border="1">
<tr sytle="border:1px solid">
        <th>Id</th>
        <th>Nama Kategori</th>
        <th>Aksi</th>
    </tr>
<?php foreach ($data as $model): ?>
<tr>
        <td><?php echo $model->id_kategori; ?></td>
        <td><?php echo $model->nama_kategori; ?></td>
        <td><?php echo CHtml::link(CHtml::encode('Update'), array('update', 'id'=>$model->id_kategori)); ?> | 
            <?php echo CHtml::link(CHtml::encode('Delete'), array('delete', 'id'=>$model->id_kategori));?>
        </td>
    </tr>
<?php endforeach; ?>
</table>

b. create.php

    <div class='form'>
        <?php
            echo CHtml::beginForm(array('kategori/create'));
        ?>

        <div class='row'>
            <?php
                echo CHtml::activeLabel($model, 'Nama Kategori : ');
                echo CHtml::activeTelField($model, 'nama_kategori','');
            ?>
        </div>
<div class='buttons'>
            <?php
                echo CHtml::submitButton('Submit');
                echo CHtml::endForm();
                echo '';
                echo CHtml::link('Lihat Data',array('index'));
            ?>
        </div>
</div>

c. update.php

<div class="form">
    <?php echo CHtml::beginForm(array('update','id'=>$model->id_kategori)); ?>
    
    <div class="row">
        <?php echo CHtml::activeLabel($model, 'Nama Kategori : '); ?>
        <?php echo CHtml::activeTelField($model, 'nama_kategori',''); ?>
    </div>
<div class="row buttons">
        <?php echo CHtml::submitButton('Update'); ?>
        <?php echo CHtml::endForm(); ?>
    </div>
</div>


Untuk melihat hasilnya, ketikan di url browser :

http://localhost/Belajar_Yii/website/index.php?r=kategori

*notes kode yang berwarna merah adalah direktori folder Yii Framework anda di localhost.

Relational Active Record Database Yii Framework Bab 2

Cobalah anda lakukan operasi CRUD pada tabel kategori tersebut.

Baiklah cukup sampai sini dahulu pembahasan kali ini selanjutnya kita akan merelasikan tabel Kategori dengan Tabel Buku dengan menggunakan Belongs To.

Daftar isi :

Relational Active Record Database Yii Framework Bab 1 ( Tabel Relational )
Relational Active Record Database Yii Framework Bab 2 ( CRUD )
Merelasikan Tabel Dengan Belongs To Yii Framework ( Final )

Relational Active Record Database Yii Framework Bab 2 sekarang sudah selesai, baca juga tutorial belajar Yii Framework lainnya.

Terima Kasih Telah Mengunjungi Blog Sederhana Ini.

Di Mohon Apabila Anda Ingin Mengcopas Artikel Pada Blog ini Cantumkan URL Sumber.

Sebagai Pengunjung Yang Baik Anda Dapat Meninggalkan Komentar di Blog Sederhana Ini.

Share this post

0 komentar

:) :) :-) :-) :)) :)) =)) =)) :( :( :-( :-( :(( :(( :d :d :-d :-d @-) @-) :p :p :o :o :>) :>) (o) (o) [-( [-( :-? :-? (p) (p) :-s :-s (m) (m) 8-) 8-) :-t :-t :-b :-b b-( b-( :-# :-# =p~ =p~ :-$ :-$ (b) (b) (f) (f) x-) x-) (k) (k) (h) (h) (c) (c) cheer cheer

 
© Jin Toples Programming
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0