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(){
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.
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 :
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.
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.
$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>
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>
http://localhost/Belajar_Yii/website/index.php?r=buku
*notes kode yang berwarna merah adalah direktori folder Yii Framework anda di localhost.
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.
maaf mas tanya, kalo mau membuat query untuk menampilkan data tertentu gimana ya mas?
ReplyDeleteprogram 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
pertama cek postingan ini dlu sebagai referensi :
ReplyDeletejintoples.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)