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

Sunday, December 8, 2013

Pengolahan CRUD Database Dengan Yii Framework Bab 2 - Sebelumnya kita sudah mengenal CRUD Database di Yii Framework dan kita juga sudah membuat dan menginput data di database. Pada kali ini kita akan menampilkan atau membaca data yang tersimpan di dalam database.

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

1. Controller

Tambahkan script BukuController.php anda dengan script berikut :

public function actionIndex(){
     $model = new buku;
     $data= $model->findAll();
     $this->render('index',array('data'=>$data));
}

Maka script anda selengkapnya menjadi seperti ini :

<?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';
    
    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));
    }
    
    public function actionIndex(){
            $model = new buku;
            $data= $model->findAll();
            $this->render('index',array('data'=>$data));
    }
}

?>

Penjelasan :

public function actionIndex(){

Kita membuat sebuah function index untuk BukuController.php

$model = new buku;
$data= $model->findAll();

Kit memanggil model buku kemudian kita menampilkan keseluruhan datanya melalui fitur yang disediakan oleh Yii Framework yaitu findAll().

$this->render('index',array('data'=>$data));

Kita memanggil sebuah view bernama index kemudian melemparkan data yang di dapat sebelumnya.

2. View

Buatlah sebuah file PHP baru di dalam direktori Protected/view/buku dengan nama index.php. dengan isi script :

<?php
    echo CHtml::link('Tambah Buku', array('create'));
    echo '';
?>

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

Penjelasan :

CHtml::link('Tambah Buku', array('create'));

Kita membuat sebuah link yang mengarah ke create.

<?php foreach ($data as $model): ?>

Untuk mengulang data array yang di lempar dari controller.

<?php echo $model->judul; ?>

Unutk menampilkan judul dari data yang disimpan di filed judul.

Tambahan :
Tambahkan sedikit script di dalam create.php yang di buat pada bab sebelumnya. dengan script :

echo '<p></p>';
echo CHtml::link('Lihat Data',array('index'));

Maka script create.php anda selengkapnya :

<div class='form'>
    <?php
        echo CHtml::beginForm(array('buku/create'));
    ?>
    
    <div class='row'>
        <?php
            echo CHtml::activeLabel($model, 'Judul : ');
            echo CHtml::activeTelField($model, 'judul','');
        ?>
    </div>
<div class='row'>
        <?php
            echo CHtml::activeLabel($model, 'Penulis : ');
            echo CHtml::activeTelField($model, 'penulis','');
        ?>
    </div>
<div class='buttons'>
        <?php
            echo CHtml::submitButton('Submit');
            echo CHtml::endForm();
            echo '';
            echo CHtml::link('Lihat Data',array('index'));
        ?>
    </div>
</div>

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.

Pengolahan CRUD Read Database Dengan Yii Framework Bab 2

Untuk menambah data anda dapat mengklik link Tambah Buku.

Baiklah sampai disini dahulu bab ini selanjutnya kita akan mngupdate data yang telah di simpan.

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 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

2 komentar

  1. maaf mas tanya, kalo mau membuat query untuk menampilkan data tertentu gimana ya mas?
    program saya kan tentang pencatatan poin pelanggaran la saya mau menampilkan data poin yang lebih dari 30,.kalo pake dbcriteria gmana ya mas caranya file apa saja yang harus dirubah atau di buat?mohon bantuanya mas
    terimaksih mas

    ReplyDelete
  2. pertama cek postingan ini dlu sebagai referensi :
    jintoples.blogspot.com/2013/12/sorting-data-order-by-dengan-yii.html
    dan
    jintoples.blogspot.com/2013/12/where-clause-criteria-di-yii-framework.html

    Untuk menyeleksi menampilkan semua data yang pointnya lebih dari 30 agan bisa membuat criterianya menjadi :

    CDbCriteria(array('select'=>'*','condition'=>'point>"30"'));

    (o)

    ReplyDelete

:) :) :-) :-) :)) :)) =)) =)) :( :( :-( :-( :(( :(( :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