Sample database design for table name country.
This table contains id (primary key) and country_name.
This table contains id (primary key), country_id and state_name.
This table contains id (primary key), state_id and city_name.
This table contains id (primary key) and country_name.
CREATE TABLE IF NOT EXISTS `country` ( `id` int(11) NOT NULL AUTO_INCREMENT, `country_name` varchar(500) NOT NULL )Sample database design for table name state.
This table contains id (primary key), country_id and state_name.
CREATE TABLE IF NOT EXISTS `state` ( `id` int(11) NOT NULL AUTO_INCREMENT, `country_id` int(11) NOT NULL, `state_name` varchar(500) NOT NULL )Sample database design for table name city.
This table contains id (primary key), state_id and city_name.
CREATE TABLE IF NOT EXISTS `city` ( `id` int(11) NOT NULL AUTO_INCREMENT, `state_id` int(11) NOT NULL, `city_name` varchar(500) NOT NULL )
Java Script Code:-
function selectState(country_id){ if(country_id!="-1"){ loadData('state',country_id); $("#city_dropdown").html
("<option value='-1'>Select city</option>"); }else{ $("#state_dropdown").html
("<option value='-1'>Select state</option>"); $("#city_dropdown").html
("<option value='-1'>Select city</option>"); } }
function selectCity(state_id){ if(state_id!="-1"){ loadData('city',state_id); }else{ $("#city_dropdown").html
("<option value='-1'>Select city</option>"); } }
function loadData(loadType,loadId){ var dataString = 'loadType='+ loadType +'&loadId='+ loadId; $("#"+loadType+"_loader").show(); $("#"+loadType+"_loader").fadeIn(400).html
('Please wait... <img src="image/loading.gif" />'); $.ajax({ type: "POST", url: "loadData", data: dataString, cache: false, success: function(result){ $("#"+loadType+"_loader").hide(); $("#"+loadType+"_dropdown").html
("<option value='-1'>Select "+loadType+"</option>"); $("#"+loadType+"_dropdown").append(result); } }); }
Controller Functions:-
public function index() { $this->load->model('model'); $result['list']=$this->model->getCountry(); $this->load->view('top'); $this->load->view('index',$result); $this->load->view('footer'); } public function loadData() { $loadType=$_POST['loadType']; $loadId=$_POST['loadId']; $this->load->model('model'); $result=$this->model->getData($loadType,$loadId); $HTML=""; if($result->num_rows() > 0){ foreach($result->result() as $list){ $HTML.="<option value='".$list->id."'>".$list->name."</option>"; } } echo $HTML; }
Model Functions:-
function getCountry() { $this->db->select('id,country_name'); $this->db->from('country'); $this->db->order_by('country_name', 'asc'); $query=$this->db->get(); return $query; } function getData($loadType,$loadId) { if($loadType=="state"){ $fieldList='id,state_name as name'; $table='state'; $fieldName='country_id'; $orderByField='state_name'; }else{ $fieldList='id,city_name as name'; $table='city'; $fieldName='state_id'; $orderByField='city_name'; } $this->db->select($fieldList); $this->db->from($table); $this->db->where($fieldName, $loadId); $this->db->order_by($orderByField, 'asc'); $query=$this->db->get(); return $query; }
No comments:
Post a Comment