我在我的项目中使用 HTML 和 PHP,但我有一个问题:
我有一个包含国家/地区的下拉列表,当用户选择一个国家/地区时,我希望另一个下拉列表与(该国家/地区的城市)一起出现
我有国家数据库和城市数据库(sql)
我尝试使用 java 脚本方法来做到这一点,但它没有用
这是我的代码
首先:这是国家下拉列表,它很好用:
<select name="SelectCountry" id="SelectCountry" onchange="showCity()" >
<?php
$Con= mysql_connect("localhost","root","");
if(!$Con) { die('Could not connect'.mysql_error());}
if(!mysql_selectdb("MyDB",$Con)){die(mysql_error());}
$sql = "SELECT * FROM countries";
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo ("<option value=\"".$row['CountryID']."\">".$row['Name']."</option>");
}
mysql_close($Con);
其次,这是 java 脚本函数 showCity() //没有任何工作!
<script>
function showCity()
{
alert("in the function !!");
Document.write(" <?php echo "<select 'SelectCity' ,'SelectCity'";
echo "</select>";
$theCountry=$_GET['SelectCountry']; // get the country ID
$Con= mysql_connect("localhost","root","");
if(!$Con) { die('Could not connect'.mysql_error());}
if(!mysql_selectdb("MyDB",$Con)){die(mysql_error());}
$sql = "SELECT * FROM cities WHERE cities.Fips=(SELECT Fips FROM countries WHERE CountryID='$theCountry')"; // retrive the cities for the spicific country (work when I enter the ID manully in the sql query e.g CountryID='43')
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo ("<option value=\"".$row['Fips']."\">".$row['Fullname']."</option>"); // print all the cities in a menu (work when I enter the ID manully in the sql query e.g CountryID='43')
}
mysql_close($Con);
");"; ?> ");
}
</script>
此方法是在用户使用Onchange事件更改国家/地区时为特定国家/地区城市创建一个新的下拉列表
我希望你能帮助我
如果有任何问题或误解,我准备回答或解释
一切都好:)