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

Monday, December 9, 2013

Pengolahan CRUD Database Dengan Yii Framework Bab 3 - Sebelumnya kita sudah create dan read data, sekarang kita pada bab 3 yaitu update data (Status aja di update masa database engga). Update adalah mengubah data lama menjadi sebuah data baru. Untuk mengupdate data, kita akan menambahkan function lagi pada script BukuController.php dan membuat sebuah view baru untuk form update.

Langsung saja kita mulai Pengolahan CRUD Database Dengan Yii Framework Bab 3. Jika anda belum menginstal Yii Di localhost anda dapat melihatnya Di Sini.

1.Controller

Buka script BukuController.php kemudian tambahkan script berikut :

public function actionUpdate($id){
     $data=new buku;
     $model=$data->findByPk($id);
        
     if(isset($_POST['buku'])){
          $model->judul=$_POST['buku']['judul'];
          $model->penulis=$_POST['buku']['penulis'];
            
          if($model->save()){
               $this->redirect(array('index'));
          }
     }
        
     $this->render('update',array('model'=>$model));
}


Maka sekarang script anda selengkapnya adalah :

<?php

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

/**
 * Description of BukuController
 *
 * @author Jin Toples
 */
class BukuController extends Controller {
    //put your code here
    public $layout='column1';
    const INDEX = 'index';
    
    //function create
    public function actionCreate(){
        $model=new buku;
        
        if(isset($_POST['buku'])){
            $model->judul = $_POST['buku']['judul'];
            $model->penulis = $_POST['buku']['penulis'];
            
            $model->save();
        }
        
        $this->render('create',array('model'=>$model));
    }
    
    //function index ( read )
    public function actionIndex(){
            $model = new buku;
            $data= $model->findAll();
            $this->render('index',array('data'=>$data));
    }
    
    //function update
    public function actionUpdate($id){
        $data=new buku;
        $model=$data->findByPk($id);
        
        if(isset($_POST['buku'])){
            $model->judul=$_POST['buku']['judul'];
            $model->penulis=$_POST['buku']['penulis'];
            
            if($model->save()){
                $this->redirect(array('index'));
            }
        }
        
        $this->render('update',array('model'=>$model));
    }
}

?>

Penjelasan :

public function actionUpdate($id){

membuat sebuah function denga parameter $id

$data=new buku;
$model=$data->findByPk($id);

Mendapatkan data berdasarkan primary key dari database kemudian di cocokan dengan $id

if(isset($_POST['buku'])){

Membuat sebuah kondisi jika post data dilakukan.

$model->judul=$_POST['buku']['judul'];

Digunakan untuk mengambil data dari elemen form yang di inputkan oleh user

$model->save()

Digunakan untuk menyimpan data baru yang di udpdate

$this->redirect(array('index'));

Sigunakan untuk meredirect halaman ke index atau halaman awal

$this->render('update',array('model'=>$model));

Memanggil view bernama update kemudian lemparkan data array model.

2. View

Buatlah sebuah file PHP baru di dalam direktori Protected\view\buku denga nama update.php dengan script :

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

Penjelasan :

<?php echo CHtml::beginForm(array('update','id'=>$model->id)); ?>

Kita membuka sebuah form baru yang datanya akan di lempar ke BukuController.php di dalam function actionUpdate dengan parameter $id.

<?php echo CHtml::activeLabel($model, 'Judul : '); ?>
<?php echo CHtml::activeTelField($model, 'judul',''); ?>

Unutk membuat sebuah label dan sebuah textfield yang berisikan data - data sebelumbya yang nantinya akan di isi dengan data yang di update.

Untuk melihat hasilnya, ketikan di url browser :

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

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

read data

Sekarang coba anda klik "UPDATE", maka akan muncul halaman seperti berikut :

Pengolahan CRUD Update Database Dengan Yii Framework Bab 3

Kemudian ubah dataya dengan data baru, lihatlah apakah datanya terupdate :

berhasil update

Daftar Isi :

Pengolahan CRUD Database Dengan Yii Framework Bab 1 ( Create )
Pengolahan CRUD Database Dengan Yii Framework Bab 2 ( Read )
Pengolahan CRUD Database Dengan Yii Framework Bab 3 ( Update )
Pengolahan CRUD Database Dengan Yii Framework Bab 4 ( Delete )

CRUD Database Dengan Yii Framework Bab 3 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