form ajax yii framework_cjuidialog cgridview

Upload: andrea-stevens-karnyoto

Post on 31-Oct-2015

594 views

Category:

Documents


0 download

DESCRIPTION

membuat form dengan ajax yii framework untuk menampilkan cjuidialog yang terdapat data data dari tabel lain, sehingga memudahkan pencarian data.

TRANSCRIPT

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    Membuatformisiandenganmengambildatadaritabellainyangsebagaiforeignkey(YiiFramework)

    untuk mengingat kode suatu record agar dapat dimasukkan dalam form yang memiliki hubungandengan tabel lain sangat susah, dengan menggunakan metode ajax dalam yii framework kita dapatmelakukanmengambilandatadaritabellaintanpamerefreshhalamanforminput.

    Scenario:

    Kitamemilikitabletestcontohyangterhubungdenganbeberapatabeldiantarnyatabeladmin,fakultasdan mahasiswa, dalam tabel testcontoh terdiri dari field id, iduser, idfakultas dan nimmhs. Iduserterhunbung sebagai foreign key ke tabel admin, idfakultas terhubung sebagai foreign key ke tabelfakultasdannimmhsterhubungsebagaiforeignkeyketabelmahasiswa.

    Relasiantartabel

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    Pengerjaan:

    1. LakukanpembuatanMODELdanCRUDmenggunakanGIIuntuktabeltestcontoh.2. Masuk pada /protected/controller/TestcontohController.php dan tambahkan perintah seperti

    dbawahini:Catatan:backgroundyangberwarnakuningadalahtambahanUntukactionCreate()

    $modelAdmin = new Admin('search'); $modelAdmin->unsetAttributes(); // clear any default values if (isset($_GET['Admin'])) $modelAdmin->attributes = $_GET['Admin']; $modelFakultas = new Fakultas('search'); $modelFakultas->unsetAttributes(); // clear any default values if (isset($_GET['Fakultas'])) $modelFakultas->attributes = $_GET['Fakultas']; $modelMahasiswa = new Mahasiswa('search'); $modelMahasiswa->unsetAttributes(); // clear any default values if (isset($_GET['Mahasiswa'])) $modelMahasiswa->attributes = $_GET['Mahasiswa']; $model = new Testcontoh; // Uncomment the following line if AJAX validation is needed $this->performAjaxValidation($model); if (isset($_POST['Testcontoh'])) { $model->attributes = $_POST['Testcontoh']; if ($model->save()) $this->redirect(array('view', 'id' => $model->id)); } $this->render('create', array( 'model' => $model, 'modelAdmin' => $modelAdmin, 'modelFakultas' => $modelFakultas, 'modelMahasiswa' => $modelMahasiswa,

    ));UntukactionUpdate($id)

    $modelAdmin = new Admin('search'); $modelAdmin->unsetAttributes(); // clear any default values if (isset($_GET['Admin'])) $modelAdmin->attributes = $_GET['Admin']; $modelFakultas = new Fakultas('search'); $modelFakultas->unsetAttributes(); // clear any default values if (isset($_GET['Fakultas'])) $modelFakultas->attributes = $_GET['Fakultas']; $modelMahasiswa = new Mahasiswa('search'); $modelMahasiswa->unsetAttributes(); // clear any default values if (isset($_GET['Mahasiswa'])) $modelMahasiswa->attributes = $_GET['Mahasiswa'];

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    $model = $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Testcontoh'])) { $model->attributes = $_POST['Testcontoh']; if ($model->save()) $this->redirect(array('view', 'id' => $model->id)); } $this->render('update', array( 'model' => $model, 'modelAdmin' => $modelAdmin, 'modelFakultas' => $modelFakultas, 'modelMahasiswa' => $modelMahasiswa,

    ));3. Editfile/protected/view/testcontoh/create.php

    create.php

    4. Editfile/protected/view/testcontoh/update.phpupdate.php

    5. Editfile/protected/view/testcontoh/_form.php

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    Fields with * are required.

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    'columns' => array( 'username', 'namalengkap', array( 'header' => '', 'type' => 'raw', 'value' => 'CHtml::Button("+", array("name" => "get_link" , "id" => "get_link", "onClick" => "$(\"#mydialog\").dialog(\"close\");$(\"#Testcontoh_iduser \") .val(\"". $data->id."\");$(\"#user_name \").val(\"". $data->username."\");"))', ), ), )); $this->endWidget('zii.widgets.jui.CJuiDialog'); ?>

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

    ), )); $this->widget('zii.widgets.grid.CGridView', array( 'id' => 'mahasiswa-grid', 'dataProvider' => $modelMahasiswa->search(), 'filter' => $modelMahasiswa, 'columns' => array( 'NIMHSMSMHS', // nim mahasiswa 'NMMHSMSMHS', // nama mahasiswa 'TELEPON', // telepn array( 'header' => '', 'type' => 'raw', 'value' => 'CHtml::Button("+",array("name" =>"get_link4","id" => "get_link4", "onClick" => "$(\"#mydialo3\").dialog(\"close\"); $(\"#Testcontoh_nimmhs\").val(\"".$data->NIMHSMSMHS."\"); $(\"#mahasiswa_name \").val(\"". $data->NMMHSMSMHS."\"); "))', ), ), )); $this->endWidget('zii.widgets.jui.CJuiDialog'); ?>

    6. Hasilnyaakansepertidibawahini

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre

  • Andreastevenskarnyoto

    [email protected],fb:karnyotoandre