我只是一个新手。php,jquery and ajax
我想从数据库中state and city name
获取country name
。我的数据库是这样的
CREATE TABLE IF NOT EXISTS `propertylocator` (
`store_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`store_name` varchar(255) NOT NULL,
`country_name` varchar(255) NOT NULL,
`state_name` varchar(255) NOT NULL,
`city_name` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL
PRIMARY KEY (`store_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `propertylocator` (`store_id`, `store_name`, `country_name`, `state_name`, `city_name`, `address`, `description`) VALUES
(1, 'My property1', 'India', 'uttar pradesh', 'Ghaziabad', 'Pilkhuwa, Uttar Pradesh 245304, India', 'this is demo test','this is dummy description'),
(2, 'My new Property', 'India', 'Maharashtra', 'Thane', 'Kudavali, Maharashtra 421401, India', 'test propery again', 'another dummy property'),
(3, 'Dummy store', 'United Arab Emirates', 'Sharjah', 'Halwan Suburb', 'Al Ghubaiba - Sharjah - United Arab Emirates', 'this is another dummy store','another text with dummy');
现在在这里我有 3 个下拉菜单,一个是country name
,第二个是state name
,另一个是city name
。在countryname dropdown
我得到所有的countryname
. 但是我希望当我选择时,country name(lets say india here)
我将获得州的下拉选项,uttar pradesh and Maharashtra
因为它们的国名都是印度,当我从国家列表中选择阿拉伯联合酋长国时,我将获得所有国家名称的州名是United Arab Emirates in the database
。以同样的方式申请cityname
. 对于我所做的所有这些jQuery ajax
事情
<label>Please Select Country</label></td><td>
<div class="country">
<select id="country" name="country" onchange="selectCountry();">
<option value="Select">Select</option>
foreach($countrylist as $country) {
<option value="$country['country_name]" id="$country['country_name]">echo $country['country_name]</option>
}
</select>
在功能上selectCountry()
我的代码是这样的
function selectCountry() {
var state = $('#country').val();
console.log(state);
$.ajax({
type: "GET",
url: "selectstate.php",
data: { sta : state }
}).done(function(html) {
$('#state').html(html);
})
}
在 selectstate.php 我有这样的查询
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db(propertylocator) or die(mysql_error());
$sDB = new SelectDb();
$data = $sDB->selectStatesById($_GET['sta']);
foreach($data as $row)
{
echo "<option value=" . $row->state . ">" . $row->name . "</option>";
}
但在这里我没有得到任何结果。它显示 404 not found 错误。所以有人可以告诉我这里有什么问题。
如果我的代码中有一些错误,请解决它。这样我才能正确理解代码。谢谢
更新 我检查了 url 路径并使其更清晰,以便可以跟踪问题。