Spesifikasi :
- Php 5.4
- Mysql
- Codeigniter 3.0
- Jquery
Database
Download terlebih dahulu database nama-nama wilayah di seluruh indonesia, DOWNLOAD DISINI.
Buat database baru dengan nama "wilayah_indo".
Config
ubah di autoload.php menjadi :
$autoload['libraries'] = array('database'); //(baris 63)
$autoload['helper'] = array('url','html'); //(baris 91)
Ubah di config.php menjadi :
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '') . '://'; $newurl = str_replace("index.php","", $_SERVER['SCRIPT_NAME']); $config['base_url'] = "$http" . $_SERVER['SERVER_NAME'] . "" . $newurl; //(baris 20)
$config['encryption_key'] = 'abcdefghijklmnopqrstuvwxyz'; //(baris 312)
Ubah di routes.php menjadi :
$route['default_controller'] = 'wilayah'; //(bais 52)
Code
Setelah database di download dan codeigniter sudah di atur, barulah kali ini kita mulai membuat kodenya.
Jika semuanya sudah di buat. Pada saat di Run di browser, maka tampilannya akan tampak seperti gambar di bawah ini.
Full Code Referensi
Setelah database di download dan codeigniter sudah di atur, barulah kali ini kita mulai membuat kodenya.
Wilayah.phpM_wilayah.phpwilayah.php
application/view/wilayah.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Data seluruh wilayah indonesia dari mulai provinsi, kabupaten, kecamatan dan desa. By : http://kang-cahya.com" />
<meta name="author" content="Cahya Dyazin" />
<title>Wilayah Indonesia</title>
<link rel="icon" type="image/png" href="<?php echo $path; ?>/favicon.png">
<script src="<?php echo $path; ?>/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#provinsi").change(function (){
var url = "<?php echo site_url('wilayah/add_ajax_kab');?>/"+$(this).val();
$('#kabupaten').load(url);
return false;
})
$("#kabupaten").change(function (){
var url = "<?php echo site_url('wilayah/add_ajax_kec');?>/"+$(this).val();
$('#kecamatan').load(url);
return false;
})
$("#kecamatan").change(function (){
var url = "<?php echo site_url('wilayah/add_ajax_des');?>/"+$(this).val();
$('#desa').load(url);
return false;
})
});
</script>
</head>
<body align="center">
<h1>Data Seluruh wilayah di indonesia</h1>
<p>Provinsi :</p>
<select name="prov" class="form-control" id="provinsi">
<option>- Select Provinsi -</option>
<?php foreach($provinsi as $prov){
echo '<option value="'.$prov->id.'">'.$prov->nama.'</option>';
} ?>
</select>
<p>Kabupaten :</p>
<select name="kab" class="form-control" id="kabupaten">
<option value=''>Select Kabupaten</option>
</select>
<p>Kecamatan :</p>
<select name="kec" class="form-control" id="kecamatan">
<option>Select Kecamatan</option>
</select>
<p>Desa :</p>
<select name="des" class="form-control" id="desa">
<option>Select Desa</option>
</select>
<hr>
<footer>2015 | Codeigniter 3 | By, <a href="http://kang-cahya.com" rel="dofollow">Cahya Dyazin</a></footer>
</body>
</html>
Jika semuanya sudah di buat. Pada saat di Run di browser, maka tampilannya akan tampak seperti gambar di bawah ini.
jejak om
ReplyDeletemas mo nanya koq gak bisa jalan ya di PHP Version 5.5.9
ReplyDeletega bisa jalan kenapa ?
Deleteada error kah ?
Gmn caranya supaya yg tersimpan ke db transaksiitu adalah nama wilayahnya bukan ID nya?
ReplyDeleteKemudian pas mw diedit itu option selected nya gmn??
Thanks
kalau yang mau kesimpannya itu nama wilayahnya, mas tinggal ganti aja di bagian :
Deleteoption value="$value->id .....
menjadi
option value="$value->nama....
tapi tidak di saran kan untuk menyimpan nama wilayah secara langsung, karena itu ada kaitannya dengan kesingkronan data wilayah nya :)
Delete.
untuk yang selected saya biasa-nya kyk gini :
[select]
[option value="id_wilayah"]selected : $wilayah[option]
....
[/select]
ket : $wilayah : merupakan variabel yang berfungsi menampilkan nama wilayah yang sudah di simpan ke database.
Wah saya sudah coba kalo itu mah.
ReplyDeletevalue="' . $prov->id . '">' . $prov->nama .
Menjadi
value="' . $prov->nama . '">' . $prov->nama .
Itu menyebabkan ke combo selenajutnya tidak aktif alias tidak ada pilihan kab, kec dan desa.
Khan ID nya dipake buat ajax.
Kemudian untuk selected juga sama.
Mungkin bang Cahya bisa mempraktekannya dari contoh di atas. Supaya saya dapat mengikuti dan melihat implementasinya. Soalnya saya sudah coba tidak berhasil..
Mohon pencerahannya.
cara aman nya, yang di simpan tetep ID wilayahnya, cuma nanti pas datanya di sajikan agan harus melakukan join ke tabel wilayah yang bersangkutan, tujuannya agar data yang di sajikan tidak berupa ID melainkan nama wilayahnya (ini cara yang aku gunain)
DeleteSaya sudah mencoba input ID wilayahnya saja ke Tabel transaksi.
ReplyDeleteNah untuk join tabel nya gmn? Agak jelimet juga. Hehehee ....
Saya punya masalah di edit yg saya katakan di atas.
Mungkin mas cahya bisa memberikan contoh yg aplikatifnya dari kasus data wilayah ini.
mas gimana caranya jika pilihanya bisa diketik untuk pencariannya.. Terimakasih
ReplyDelete