Membuat pilihan radio button pada grocery CRUD dan CodeIgniter Versi 2

Diketahui:

Saya mempunyai tabel leave_trantype seperti terlihat dibawah ini:

isi dari tabel leave_trantype

Struktur Tabel

 

struktur tabel leave_trantype

Contoh Kasus:

Tampilan operasi ADD grocery CRUD  dari tabel diatas adalah seperti terlihat dibawah ini:

grocery crud enum

Permintaan Klien:

‘Ltt adddeduct’ dibuat pilihan radio button.

Analisa:

  • Setelah saya lihat dari tipe field dan fungsinya seperti terdapat pada artikel ini maka fungsi yang membuat radio button ada tapi hanya untuk tipe true_false, dimana tipe true_false ini adalah pilihan active dan inactive untuk user.
  • Kalau begitu kita harus membuat fungsinya sendiri.

Pertanyaan:

Bagaimana membuat fungsi untuk membuat pilihan radio button … ?

Jawaban:

Penambahan kode pada fungsi get_field_input()

Bukalah library grocery_crud.php, lalu cari fungsi berikut ini:

protected function get_field_input($field_info, $value = null) {

$real_type = $field_info->crud_type;

switch ($real_type) {

case ‘integer’:

$field_info->input = $this->get_integer_input($field_info,$value);

break;

default:

$field_info->input = $this->get_string_input($field_info,$value);

break;

}

return $field_info;

}

lalu sisipkan kode dibawah ini:

case ‘radio’:

$field_info->input = $this->get_radio_input($field_info,$value);

break;

Pembuatan fungsi get_radio_input()

Bukalah library grocery_crud.php dan masukkan kode dibawah ini:

protected function get_radio_input($field_info,$value) {

$options_array = explode(“‘,'”,substr($field_info->db_max_length,1,-1));

$input=’ ‘;

foreach($options_array as $option) {

$input .= “<input type=’radio’ name='{$field_info->name}’ value=’$option’ >$option”;

}

return $input;

}

Penggantian Tipe Field pada Controller

Pada Controllermu maka kamu harus merubah tipe fieldnya seperti kode dibawah ini:

$crud = new grocery_CRUD();

$crud->change_field_type(‘ltt_adddeduct’, ‘radio’);

Hasil:

Lihat bagian yang berwarna merah pudar dibawah ini:

radio button grocery crud

Muncul Pertanyaan:

Saat edit kenapa radio buttonnya tidak ada yang terpilih … ?

Jawaban:

Saat edit maka kita harus periksa nilai dari kolom ‘ltt_adddeduct’ melalui variabel $value seperti kode dibawah ini;

foreach($options_array as $option) {

if($option==$value)

$sel=”checked = ‘checked'”;

else

$sel=’ ‘;

$input .= “<input type=’radio’ name='{$field_info->name}’ value=’$option’ $sel>$option”;

}

Keterangan:

  • if($option==$value), kode ini digunakan untuk memeriksa apakah nilai default ENUM itu sama dengan nilai dari variabel $value, dimana nilai $value ini diambil dari kolom ‘ltt_adddeduct’.

 

Jika tutorial ini bermanfaat silahkan katakan ‘Terima Kasih Fahmi Basya Kartapura‘.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *