Skip to main content

[ASK - URGENT]Combobox dinamis dari database

April 15, 2010 by yagi

yagi's picture

Salam kenal para master CI..

Saya baru belajar CI, saya lagi dapet tes untuk masuk salah satu softwarehouse dan saya diminta untuk buat program Guestbook dan di dalemnya ada fungsi untuk filter nama kota berdasarkan provinsi yang dipilih pake combobox dan JQuery. tapi saya masih bingung.

saya sudah buat 2 tabel :
1. Tabel Provinsi : id_provinsi, nama_provinsi
2. Tabel Kota : id_kota, id_provinsi, kota

Saya sudah cari2 di forum lain tapi blm dapet, Mungkin temen2 disini ada yg bisa bantu saya?
Tolong saya Please para master....

Terima Kasih Sebelumnya..

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Coba ini

April 16, 2010 by mul14, 1 year 42 weeks ago
Comment: 6273

mul14's picture

Table schema

CREATE TABLE IF NOT EXISTS `cities` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `province_id` int(11) NOT NULL,
  `city` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
INSERT INTO `cities` (`id`, `province_id`, `city`) VALUES
(1, 1, 'bandung'),
(2, 2, 'surabaya'),
(3, 1, 'cimahi'),
(4, 2, 'bla blaa');
CREATE TABLE IF NOT EXISTS `provinces` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `province` varchar(32) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `province` (`province`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `provinces` (`id`, `province`) VALUES
(1, 'jabar'),
(2, 'jatim');

models/location.php

class Location extends Model {
  public function __construct() {
    parent::__construct();
  }
 
  public function getCity($province_id) {
    return $this->db->get_where('cities', array('province_id'=>$province_id));
  }
 
  public function getAllProvince() {
    return $this->db->get('provinces');
  }
}

controllers/welcome.php

class Welcome extends Controller {
 
	function Welcome()
	{
		parent::Controller();	
		$this->load->model('location');
	}
 
	function index()
	{
		$t = $data['provinces'] = $this->location->getAllProvince();
		$this->load->view('welcome_message', $data);
	}
 
	function getCity()
	{
    $province_id = $this->input->post('province_id');
    $cities = $this->location->getCity($province_id);
    echo '<ul>';
    foreach ($cities-&gt;result() as $city) {
      echo "<li>{$city->city}</li>";
    }
    echo '</ul>';
	}
}

views/welcome_message.php

&lt;script src="&lt;?php echo base_url()?&gt;js/jquery.js"&gt;&lt;/script&gt;
&lt;script&gt;
  $().ready(function(){
    $('select').change(function(){
      var data = $('form').serialize();
      $.post('&lt;?php echo site_url('welcome/getCity') ?&gt;', data, function(response){
        $('#city').html(response);
      })
    })
  })
&lt;/script&gt;
&lt;form method="post"&gt;
  &lt;select name="province_id"&gt;
  &lt;?php foreach ($provinces->result() as $v): ?&gt;
    &lt;option value="&lt;?php echo $v-&gt;id ?&gt;">&lt;?php echo $v-&gt;province ?&gt;&lt;/option&gt;
  &lt;?php endforeach ?&gt;
  &lt;/select&gt;
  &lt;div id="city"&gt;&lt;/div&gt;
&lt;/form&gt;

Download jquery, dan letakkan di folder js

system
-- application
-- <strong>js </strong>

Sesuaikan isi application/config/database.php
Tambahkan helper url dan database library di application/config/autoload.php

Test, harusnya udah bisa...

lempar variable

January 15, 2011 by syauqie, 1 year 3 weeks ago
Comment: 7529

syauqie's picture

alhamdulillah udah bisa mas
yang mau saya tanyakan,
bgaimana nyimpan variable provinsi sama city nya?
saya buat form tambah data dosen,
n di dalam form itu saya buat form yang mas kasih di atas, jadi ada form di dalam form,
jadi setelah pilih jabar, keluar kota2 n pilih sukabumi (misalnya).
dan jabar n sukabumi diinputkan sama data2 yang lainnya(nama,nip,dll) lewat form yang pertama

combobox kota ga muncul

April 16, 2010 by yagi, 1 year 42 weeks ago
Comment: 6274

yagi's picture

Wah..., thx bgt mas untuk contohnya..

saya sudah coba , disamain semua tapi pas dijalankan dan dipilih provinsinya, sama sekali ga ada respon, combobox kota nya ga tampil mas.
Itu kira2 knp y?
membetulkannya bgmn mas?

Terima kasih sebelumnya..

Premium Drupal Themes by Adaptivethemes