Dynamic Dependent drop down list using html,php,mysql,ajax
Posted Date:08-05-2017
In this post we will explain dynamic dependent drop down list using html,php,mysql,ajax
Dynamic Dependent dropdown list using php
Step 1: Create a new file dropdown-ajax.php
step 2: Create a mysql connection code inside dropdown-ajax.php
<?php $host = 'localhost'; $user = 'root'; $pass = ''; mysql_connect($host, $user, $pass); mysql_select_db('demo'); ?>
step3 : Create mysql table ls_countries and ls_states
CREATE TABLE `ls_states` ( `state_id` int(11) NOT NULL, `name` varchar(30) NOT NULL, `country_id` int(11) NOT NULL DEFAULT '1', `status` int(11) NOT NULL COMMENT '1->active,0->deactive', PRIMARY KEY (`state_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `ls_countries` ( `country_id` int(11) NOT NULL AUTO_INCREMENT, `sortname` varchar(3) NOT NULL, `name` varchar(150) NOT NULL, `phonecode` int(11) NOT NULL, `status` int(11) NOT NULL COMMENT '1->active,0->deactive', PRIMARY KEY (`country_id`)) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8
step4 : Create two drop down list one is dynamically with onclick function fetch_select and second dropdown list with id using following code
<select onchange="fetch_select(this.value);"> <option>Select country</option> <?php $select=mysql_query("select * from ls_countries"); while($row=mysql_fetch_array($select)) { echo "<option value=".$row['country_id'].">".$row['name']."</option>"; } ?> </select> <select id="new_select"> </select>
stpe4 : Create javascript function with ajax call to get second dropdownlist values using following code
function fetch_select(val) { $.ajax({ type: 'post', url: 'fetch_data.php', data: { get_option:val }, success: function (response) { document.getElementById("new_select").innerHTML=response; } }); }
step 5: Create a new file name as fetch_data.php for get data and then send data to dropdown-ajax.php file on ajax request.
<?php if(isset($_POST['get_option'])) { $host = 'localhost'; $user = 'root'; $pass = ''; mysql_connect($host, $user, $pass); mysql_select_db('demo'); $country_id = $_POST['get_option']; $find=mysql_query("select * from ls_states where country_id='$country_id'"); while($row=mysql_fetch_array($find)) { echo "<option>".$row['name']."</option>"; } exit; } ?>
we are following above steps final code like this
dropdown-ajax.php
<?php $host = 'localhost'; $user = 'root'; $pass = ''; mysql_connect($host, $user, $pass); mysql_select_db('demo'); $select=mysql_query("select * from ls_countries"); while($row=mysql_fetch_array($select)) { echo "<option value=".$row['country_id'].">".$row['name']."</option>"; } ?> <html> <head> <source src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"> function fetch_select(val) { $.ajax({ type: 'post', url: 'fetch_data.php', data: { get_option:val }, success: function (response) { document.getElementById("new_select").innerHTML=response; } }); } </head> <body> <select onchange="fetch_select(this.value);"> <option>Select country</option> <?php $host = 'localhost'; $user = 'root'; $pass = ''; mysql_connect($host, $user, $pass); mysql_select_db('linus'); $select=mysql_query("select * from ls_countries"); while($row=mysql_fetch_array($select)) { echo "<option value=".$row['country_id'].">".$row['name']."</option>"; } ?> </select> <select id="new_select"> </select> </body> </html>
fetch_data.php
<?php if(isset($_POST['get_option'])) { $host = 'localhost'; $user = 'root'; $pass = ''; mysql_connect($host, $user, $pass); mysql_select_db('linus'); $country_id = $_POST['get_option']; $find=mysql_query("select * from ls_states where country_id='$country_id'"); while($row=mysql_fetch_array($find)) { echo "<option>".$row['name']."</option>"; } exit; } ?>
Thanks for sharing. This article is useful to learn Dependent Dropdown Using Ajax in PHP.