Menghubungkan dropdownlist dg Databse pada yii framework

Pada kasus yang sama dengan kasus sebelumnya pada ASP.NET MVC yg bisa anda lihat di https://sabitlabscode.wordpress.com/2011/05/20/menghubungkan-dropdownlist-dg-databse-pada-asp-net-mvc-c/

Kita akan coba pecahkan kasus tersebut pada yii framework..

Baiklah, untuk menghubungkan dropdownlist ke database, maka kita perlu memanggil “model” dari tabel yang kita tuju. Sehingga pada form ny harus sedikit anda modifikasi menjadi seperti berikut:

<div class=”row”>

<?php echo $form->labelEx($model,’SeksiId’); ?>

<?php

echo $form->dropDownList($model,’SeksiId’,CHtml::listData(K5Seksi::model()->findAll(), ‘SeksiId’, seksi’),array(’empty’=>’–please select–‘));

?>

<?php echo $form->error($model,’SeksiId’); ?>

</div>


Dari contoh code di atas, bisa dilihat bahwa dropdownlist mengambil nilai dari tabel “K5Seksi” melalui model “K5Seksi”. Lalu dropdownlist akan memasukkan semua nilai “SeksiId” dari model “K5Seksi” ke dalam nilainya. Sedangkan untuk text yang akan ditampilkannya, dropdownlist tersebut mengambil nilai dari “seksi” yang ada di dalam tabel “K5Seksi”

Selesai, selamat mencoba…

Saya bukanlah seorang master, hanya seorang pelajar yg mencoba sharing isi kepalanya..

Jika ada kesalahan dari yg saya buat, mohon koreksi…

Semoga membantu…

19 Responses to Menghubungkan dropdownlist dg Databse pada yii framework

  1. J Wahyu says:

    makasi mas…
    berjalan sukses..😀

  2. eiji says:

    Bang, kok keluar error Cexception ya? property is not defined.

  3. Sori2 saya lama bales nya karena lagi banyak kerjaan..
    berrti ada property / field yang mau agan keluarin padahal dia ga ada di database..

  4. Nice share gan, I have to my mind, i have to my said, i’m get to the good everything. If wanna come to inpest.

  5. danus says:

    kok punya saya yg muncul cuman satu drop down listnya padahal saya udah buat banyak kategori .. listnya

  6. danus says:

    beginWidget(‘bootstrap.widgets.TbActiveForm’,array(
    ‘id’=>’album-form’,
    ‘enableAjaxValidation’=>false,
    )); ?>

    Fields with * are required.

    errorSummary($model); ?>

    textFieldRow($model,’judul’,array(‘class’=>’span5′,’maxlength’=>50)); ?>

    textFieldRow($model,’foto’,array(‘class’=>’span5′,’maxlength’=>50)); ?>

    textFieldRow($model,’tglFoto’,array(‘class’=>’span5′)); ?>

    dropDownListRow($model,’kategori_id’,CHtml::listData(Kategori::model()->findAll(),’kategori_id’,’nama’),array(’empty’=>’—PiliH Kategori—‘)); ?>

    textFieldRow($model,’user_id’,array(‘class’=>’span5’)); ?>

    widget(‘bootstrap.widgets.TbButton’, array(
    ‘buttonType’=>’submit’,
    ‘type’=>’primary’,
    ‘label’=>$model->isNewRecord ? ‘Create’ : ‘Save’,
    )); ?>

    endWidget(); ?>

  7. danus says:

    ketemu juga yh… ($model,’kategori_id’,CHtml::listData(Kategori::model()->findAll(),’kategori_id’,’nama’),array(‘empty’=>’—PiliH Kategori—’)); ?> => jadi ($model,’kategori_id’,CHtml::listData(Kategori::model()->findAll(),’id’,’nama’),array(‘empty’=>’—PiliH Kategori—’)); ?>

  8. mas kenapa punya saya muncul error kayak gini

    Fattal Error:Call to a member function findAll() on a non object in C:\xampp\htdocs\yiibuku\protetect\views\buku\create.php on line 16

  9. bagaimana bila list dropdown berasal dari table yang berbeda? Thanks.

  10. udah ketemu thanks….

    Create dulu Model untuk database yang akan dipake sebagai dropdown list.
    kemudian panggil pake script berikut:


    dropDownList($model,'location',CHtml::ListData(Daerah::model()->findAll(), 'id', 'nama'),array('empty'=>'please select')); ?>

    Note: “Daerah” merupakan Model untuk memanggil data dari table daerah.

    Thanks untuk pencerahannya.

  11. arif says:

    punya saya kenapa gk ke simpen ke database ya gan ?

    labelEx($model,’kelompok_alat’); ?>
    dropDownList($model,’id_kelompok_alat’,
    CHtml::listData(KelompokAlat::model()->findAll(),’id_kelompok_alat’,’kelompok_alat’),array(’empty’=>’–please select–’)); ?>
    error($model,’id_kelompok_alat’); ?>

  12. gan, kenapa ya dropdown listnya gk muncul valuenya ? cuma ada tulisan please select.
    Nama tabelnya : task

    Code :

    labelEx($model,’category’); ?>
    dropDownList($model,’category’,CHtml::listData(Task::model()->findAll(),’id_task’,’category’),array(’empty’=>’please select’)); ?>
    error($model,’category’); ?>

  13. biasanya karena data task nya emang kosong

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: