Pada tutorial kali ini kita akan membahas tentang Cara Menampilkan Kota Raja Ongkir Pada Codeigniter, pada tutorial sebelumnya kita telah membahas cara menampilkan provinsi untuk tutorial nya teman-teman bisa kli disini. Cara Menampilkan Kota Raja Ongkir Pada Codeigniter hampir sama dengan cara kita menampilkan provinsi.
Cara kerjanya yaitu, ketika kita memilih provinsi A maka kota yang terdapat pada provinsi A akan muncul, misalkan kita memilih provinsi DKI Jakarta maka kota-kota yang terdapat di jakarta akan muncul, oke teman-teman kita akan langsung buat untuk menampilkan kotanya kita masih menggunakan file pada tutorial https://kursuswebprogramming.com/cara-menampilkan-provinsi-raja-ongkir-pada-codeigniter/
Pada views/shipping.php kita akan menggunakan ajax untuk menampilkan data kotanya namun sebelumnya kita akan menambahkan id dan name pada setiap select optionnya seperti dibawah ini :

Selanjutnya kita akan menampilkan data kotanya menggunakan ajax untuk scriptnya seperti dibawah ini :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> // menampilkan kota asal pengiriman $(document).ready(function(){ $('#origin_province').change(function(){ var province_id=$('#origin_province').val(); $.get('<?php echo site_url('shipping/get_city_by_province/') ?>'+province_id, function(resp){ // console.log(resp); $('#origin_city').html(resp); }); }); }); // menampilkan kota tujuan pengiriman $(document).ready(function(){ $('#destination_provice').change(function(){ var province_id=$('#destination_provice').val(); $.get('<?php echo site_url('shipping/get_city_by_province/') ?>'+province_id, function(resp){ // console.log(resp); $('#destination_city').html(resp); }); }); }); </script> |
Pada perintah java script  diatas kita menggunakan site_url() maka kita akan masukan base_url nya pada application/config/config.php seperti dibawah ini :

Jika sudah kita akan membuat method get_city pada controller Shipping kita akan memasukan api kota dari raja ongkirnya seperti dibawah ini :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public function get_city($province_id){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.rajaongkir.com/starter/city?province=$province_id", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "key: $this->api_key" // sesuai dengan api raja ongkir ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { return json_decode($response); } } |
Berikutnya kita akan membuat method get_city_by_province untuk menampilkan data dari id provinsi  yang di pilih untuk scriptnya seperti dibawah ini :
|
1 2 3 4 5 6 7 8 9 10 |
public function get_city_by_province($province_id){ $city = $this->get_city($province_id); $output = '<option value="">- Kota -</option>'; foreach ($city->rajaongkir->results as $cty) { $output .='<option value="'.$cty->city_id.'">'.$cty->city_name.'</option>'; } echo $output; } |
Jika kita jalankan pada browser maka akan terlihat hasilnya seperti dibawah ini :

Oke teman-teman itulah pembahasan kita tentang Cara Menampilkan Kota Raja Ongkir Pada Codeigniter.
Semoga bermanfaat.
Terimakasih.