Code Igniter : Extract Value Tipe Data ENUM Pada Database MySQL

Tipe Data ENUM pada suatu table adalah sebuah objek string dengan nilai yang dipilih dari daftar nilai yang diijinkan, yang disebutkan secara eksplisit dalam spesifikasi kolom pada saat pembuatan tabel.

untuk pembuatannya seperti contoh berikut :

[php] CREATE TABLE sizes ( name ENUM('small', 'medium', 'large') );
[/php]

Bagaimana cara kita ingin menampilkan nilai-nilai tipe data Enum menjadi seperti suatu record ?, kali ini kita coba penggunaannya menggunakan CodeIgniter.
pertama kita buat function untuk meng-query type data tersebut :

[php] function enum_select( $table , $field )
{
$query = "SHOW COLUMNS FROM ".$table." LIKE '$field'";
$row = $this->db->query("SHOW COLUMNS FROM ".$table." LIKE '$field'")->row()->Type;
$regex = "/'(.*?)'/";
preg_match_all( $regex , $row, $enum_array );
$enum_fields = $enum_array[1];
foreach ($enum_fields as $key=>$value)
{
$enums[$value] = $value;
}
return $enums;
}
[/php]

untuk penggunaannya dilakukan dengan cara berikut (ini untuk menampilkan). Karena data yang dihasilkan berbentuk array kita dapat menggunakan looping foreach.

[php] $enum=$this->enum_select('<nama table>','<field yang bertipe data ENUM>');
foreach($enum as $key=>$r){
echo $key.'<br/>';
}
[/php]
Struktur Table - Field Tipe Data Enum

Struktur Table - Field Tipe Data Enum

Hasil dibawah merupakan hasil yang didapat, setelah dilakukan beberapa modifikasi dalam tampilannya.

Hasil Query Tipe Data Enum

Hasil Query Tipe Data Enum