Berita

Menfilter Tabel menggunakan methode Yii::app()->createUrl(.....)

12 tahun yang lalu

(oleh : Badiyanto)

Aplikasi web untuk menampikan informasi tertentu ada yang dengan cara mengklik salah satu rekaman yang ditampilkan dalam tabel. Jika rekaman tersebut di Link dan mengirimkan nilai kunci, maka hasilnya akan ditampilkan sesuai dengan nilai kunci yang sama saja. Contoh kasus ada tabel daftar pengarang, ketika diklik akan menampilkan buku yang dikarangn saja

Ketikan baris peertama di klik maka akan menampilkan

Untuk itu yang dilakukan dengan mengubah file /views/tblPengarang/index.php

<?php
/* @var $this TblPengarangController */
/* @var $model TblPengarang */

$this->breadcrumbs=array(
    'Tbl Pengarangs'=>array('index'),
    'Manage',
);

$this->menu=array(
    array('label'=>'List TblPengarang', 'url'=>array('index')),
    array('label'=>'Create TblPengarang', 'url'=>array('create')),
);

Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
    $('.search-form').toggle();
    return false;
});
$('.search-form form').submit(function(){
    $.fn.yiiGridView.update('tbl-pengarang-grid', {
        data: $(this).serialize()
    });
    return false;
});
");
?>

<h1>Manage Tbl Pengarangs</h1>

<p>
You may optionally enter a comparison operator (<b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>&lt;&gt;</b>
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
</p>

<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
    'model'=>$model,
)); ?>
</div><!-- search-form -->

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'tbl-pengarang-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        array(
            'name'=>'id',
            'type'=>'raw',
            'value'=>'CHtml::link(CHtml::encode($data->id),$data->bukuUrl)',
            'htmlOptions'=>array('width'=>'3%'),
        ),
        array(
            'name'=>'nama_pengarang',
            'type'=>'raw',
            'value'=>'CHtml::link(CHtml::encode($data->nama_pengarang),$data->bukuUrl)',
            'htmlOptions'=>array('width'=>'50%'),
        ),
        'alamat',
        'jenin_kelamin',
    array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Kemudian tambahan fungsi untuk mengarahkan link Url pada model/kelas TblPengarang.php

public function getBukuUrl()
    {
        return Yii::app()->createUrl('/tblBuku/daftarBuku2',array(
            'id'=>$this->id,
        ));
    }


perintah : Yii::app()->createUrl('/tblBuku/daftarBuku2(... ketika link diklik makan akan memanggil tampilan view daftarBuku2.php dan
array( 'id'=>$this->id,)) adalah menyertakan variabel $id/nilai kunci primer di tabel pengarang.

mengujinya dengan memanggil http://localhost/coba/index.php?r=tblPengarang/admin, kemudian untuk  File daftarBuku2.php sama dengan dan model TblBuku.php


Berita Lainnya

Magister Teknologi Informasi UTDI Raih Akreditasi Unggul dari LAM INFOKOM
Magister Teknologi Informasi UTDI Raih Akreditasi Unggul dari LAM INFOKOM

2 hari yang lalu

Yogyakarta, 11 Agustus 2026 — Universitas Teknologi Digital Indonesia (UTDI) kembali menorehkan prestasi membanggakan. Program Studi Magister Teknologi Informasi (MTI) resmi meraih peringkat ...

Selengkapnya
Rapat Dosen UTDI Semester Genap 2025/2026: Refleksi, Evaluasi, dan Penguatan Kolaborasi untuk Peningkatan Mutu Akademik
Rapat Dosen UTDI Semester Genap 2025/2026: Refleksi, Evaluasi, dan Penguatan Kolaborasi untuk Peningkatan Mutu Akademik

2 hari yang lalu

Yogyakarta, 6 Agustus 2026 — Universitas Teknologi Digital Indonesia (UTDI) menyelenggarakan Rapat Dosen Semester Genap Tahun Akademik 2025/2026 pada Kamis, 6 Agustus 2026, pukul 09.00–15.00 WIB di ...

Selengkapnya
Tingkatkan Kesiapsiagaan Kebencanaan, UTDI Gelar Sosialisasi dan Asesmen Sistem Proteksi Kebakaran Bersama BPBD DIY
Tingkatkan Kesiapsiagaan Kebencanaan, UTDI Gelar Sosialisasi dan Asesmen Sistem Proteksi Kebakaran Bersama BPBD DIY

17 hari yang lalu

YOGYAKARTA, 28 Juli 2026 – Universitas Teknologi Digital Indonesia (UTDI) bekerja sama dengan Bidang Pemadam Kebakaran dan Penyelamatan (Biddamkarmat) Badan Penanggulangan Bencana Daerah (...

Selengkapnya