gpt4 book ai didi

php - php中使用javascript方法的依赖菜单?

转载 作者:行者123 更新时间:2023-11-28 21:05:17 24 4
gpt4 key购买 nike

我在我的项目中使用 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 事件更改国家/地区时,为特定国家/地区城市创建一个新的下拉列表

希望你能帮助我

如果有任何问题或误解,我准备回答或解释

谢谢所有:)

最佳答案

对于您的经验水平来说,如果您通过 onchange 所做的只是提交表单,那可能是最好的选择:

<select name="SelectCountry"  id="SelectCountry" onchange="this.form.submit();" >

这相当于选择国家/地区后按提交按钮。 (顺便说一句,您在摘录中缺少</select>,尽管我希望您没有在此处复制它。)

然后在 PHP 中有类似...(请注意,此代码位需要位于下拉框之前,以便当您想要回显变量时该变量就在那里)

if ( isset($_GET['SelectCountry']) )
{
$country = $_GET['SelectCountry'];
$citySelect = "<select name='SelectCity'>";
//query DB for cities of that country
...
//now add the options from the query just like you did for the countries, except now use the cities
...
$citySelect .= "</select>";
}
else
{
$citySelect = ""; //to make sure the variable isn't undefined
}

现在您只需在 CountrySelect 下方添加即可:

<? echo $citySelect; ?>

如果之前选择了国家/地区,则会显示城市菜单。

请注意,这甚至不包括最低级别的安全性、防呆性,并且让大型表单像这样工作可能非常复杂。

关于php - php中使用javascript方法的依赖菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com