developer.
Select atau combo box ini bukanlah komponen pelengkap dari suatu
Di era aplikasi modern saat ini, hampir semua select dibuat dinamis.
Dengan kata lain, option (pilihan) dari select mengambil data dari
berhubungan.
Contoh:
Sumber: elevenia.co.id
yaitu elevenia.co.id.
dan kabupaten/kota.
Anda dapat melihatnya pada gambar diatas, bahwa kabupaten/kota
Sesuai dengan judul artikel diatas, pada kesempatan kali ini, saya
Seperti yang telah dijabarkan diatas, dimana option dari select ke-2
Adapun contoh kasus kali ini adalah membuat select kategori dan
sub kategori, dimana option dari sub kategori ditentukan dari kategori
yang pilih.
Persiapan
Sebelum proses pembuatan, ada tahap yang tidak boleh anda
Berikut listnya:
resminya www.codeigniter.com
resminya www.jquery.com
resminya www.getbootstrap.com
3 kategori_nama VARCHAR(50)
4 )ENGINE=INNODB;
4 subkategori_kategori_id INT,
)ENGINE=INNODB;
6
berhubungan (berelasi).
berikut:
masing tabel.
2 ('Kosmetik'),('Minuman'),('Makanan');
berikut:
4 ('Breakfast','3'),('Lunch','3'),('Dinner','3');
#2. Installasi Codeigniter
Untuk menginstall codeigniter, silahkan extract codeigniter yang
berikut:
1 $autoload['libraries'] = array('database');
2 $autoload['helper'] = array('url');
1 $config['base_url'] = 'http://localhost/ci_select/';
$active_group = 'default';
1
$query_builder = TRUE;
2
3
$db['default'] = array(
4
'dsn' => '',
5
'hostname' => 'localhost',
6 'username' => 'root',
7 'password' => '',
22
23
24
1 <?php
2 class M_kategori extends CI_Model{
4 function get_kategori(){
6 return $hasil;
}
7
8
function get_subkategori($id){
9
$hasil=$this->db->query("SELECT * FROM subkategori WHERE
10 subkategori_kategori_id='$id'");
11 return $hasil->result();
12 }
}
13
Pada model M_kategori, terdapat dua function, yaitu
yang ada pada tabel kategori dan akan ditampilkan pada option
select nantinya.
<?php
1
class Kategori extends CI_Controller{
2
function __construct(){
3
parent::__construct();
4 $this->load->model('m_kategori');
5 }
6 function index(){
7 $x['data']=$this->m_kategori->get_kategori();
$this->load->view('v_kategori',$x);
8
}
9
10
function get_subkategori(){
11
$id=$this->input->post('id');
12
$data=$this->m_kategori->get_subkategori($id);
13 echo json_encode($data);
14 }
}
15
16
17
1 <!DOCTYPE html>
2 <html>
3 <head>
6 </head>
<body>
7
<br/>
8
<div class="col-md-6 col-md-offset-3">
9
<div class="thumbnail">
10
<h4><center>Membuat Select berhubungan dengan codeigiter</center></h4><
11 <form class="form-horizontal">
12 <div class="form-group">
14 <div class="col-md-8">
<option value="0">-PILIH-</option>
16
<?php foreach($data->result() as $row):?>
17
<option value="<?php echo $row->kategori_id;?>"><?p
18
<?php endforeach;?>
19
</select>
20 </div>
21 </div>
22 <div class="form-group">
24 <div class="col-md-8">
29
</div>
30 </form>
31 <hr/>
33 </div>
34 </div>
37 <script type="text/javascript">
$(document).ready(function(){
38
$('#kategori').change(function(){
39
var id=$(this).val();
40
$.ajax({
41
url : "<?php echo base_url();?>index.php/kategori/get_subkategori",
42 method : "POST",
43 data : {id: id},
44 async : false,
45 dataType : 'json',
46 success: function(data){
53 }
54 });
55 });
56 });
</script>
57
</body>
58
</html>
59
60
61
62
63
64
#7. Atur routing default controller pada routes.php.
Untuk mengatur default controller, buka application/config/routes.php
1 $route['default_controller'] = 'kategori';
2 $route['404_override'] = '';
3 $route['translate_uri_dashes'] = FALSE;
berikut:
Selesai.
Kesimpulan:
Pembahasan kali ini adalah tentang membuat select berhubungan
}
});
return false;
}); //end ajax