php - 双下拉菜单 - php MySQL Ajax

标签 php javascript mysql ajax

我有两个 MySQL 表:

  1. “国家/地区”,包含字段:“country_id”和“国家/地区”
  2. “city”,包含以下字段:“city_id”、“city”、“city_link”和“country_id”

我想构建一个 html 双下拉菜单,用户可以在其中选择“国家/地区”,然后根据“国家/地区”选择“城市”。另外,一旦选择了“城市”,我希望有一个使用 href“city_link”的 onClick 事件,该事件将用户带到另一个页面。

有两个文件(ajaxcalling.php):

<?
include("/connection.php");
$ID=$_REQUEST['country_id'];
$connect=mysql_connect($hostname_c, $username_c, $password_c);
echo 'Details:<select name="details" width="100">';
$result = mysql_db_query($database, "SELECT * FROM c_city WHERE country_id=".$ID);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
 echo "<option value=".$row['city_id'].">".$row['city']."</option>";
}
echo '</select>';
mysql_close($connect);
?>

和(dropdown.php)

<script>

function CreateXmlHttpObject() { //function to return the xml http object
    var xmlhttp=false;  
    try{
        xmlhttp=new XMLHttpRequest();//creates a new ajax object
    }
    catch(e)    {       
        try{            
            xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
//this is for IE browser
        }
        catch(e){
            try{
            req = new ActiveXObject("Msxml2.XMLHTTP");

//this is for IE browser
            }
            catch(e1){
                xmlhttp=false;//error creating object
            }
        }
    }

    return xmlhttp;
}


  function CategoryGrab(strURL)
 {         
 var req = CreateXmlHttpObject(); // function to get xmlhttp object
 if (req)
 {
  req.onreadystatechange = function()
 {
  if (req.readyState == 4) { //data is retrieved from server
   if (req.status == 200) { // which reprents ok status                    
     document.getElementById('details').innerHTML=req.responseText;

//put the results of the requests in or element
  }
  else
  { 
     alert("There was a problem while using XMLHTTP:\n");
  }
  }            
  }        
req.open("GET", strURL, true); //open url using get method
req.send(null);//send the results
 }
}

</script>

<?
include("connection.php");
$connect=mysql_connect($hostname_c, $username_c, $password_c)
  or die ("Mysql connecting error"); 

echo '<table align="center"><tr><td><center><form method="post" action="">Category:
<select name="category"         
onChange="CategoryGrab('."'".'ajaxcalling.phpcountry_id='."'".'+this.value);">';
$result = mysql_db_query($database, "SELECT * FROM c_country");
$nr=0;
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$nr++;
echo "<option value=".'"'.$row['country_id'].'" >'.$row['country']."</option>";
}
echo '</select>'."\n";
echo '<div id="details">Details:<select name="details" width="100" >';
$result = mysql_db_query($database, "SELECT * FROM c_city WHERE country_id=1");
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
 echo "<option value=".$row['city_id'].">".$row['city']."</option>";
}
echo '</select></div>';
echo '</form></td></tr></table>';

mysql_close($connect);
?>

这是一个link

真的很感谢一些帮助,因为我已经被困在这个问题上有一段时间了......

最佳答案

首先,您提供的链接很困惑,它不显示任何内容。我查看了源代码并发现了一些东西。

  1. 您的脚本标记位于标记之外。
  2. 您用来链接 javascript 文件的脚本标记是错误的,您应该关闭该脚本标记。像这样的事情
<script type="text/javascript" src="path to ur file"></script>

对于依赖者,这里有几个链接

www.huanix.com/files/dependent_select/dependent_select.php

http://bytes.com/topic/php/answers/708593-dependent-dropdown-list-mysql

http://www.plus2net.com/php_tutorial/ajax_drop_down_list.php

关于php - 双下拉菜单 - php MySQL Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379411/

相关文章:

php - css 没有完全应用于 php 函数

php - 在 Laravel Eloquent ORM 中处理 Mysql Spatial 数据类型

javascript - 将本地文件中的 json 数据加载到 React JS 中

c# - 将两个csv文件导入mysql数据库

mysql - 对于 SQL 中的所有查询,表划分

php - mysql_fetch_array() : supplied argument is not a valid MySQL result resource (on simple query)

php mysql select 用于组织结构图/多级结构

php - WordPress 在静态资源上出现 404ing,但我可以看到正在查询的 URL 处的文件

javascript - 如何在带星号(密码字段)的文本框字段中显示最后 3 个字符?

javascript - 单击按钮后如何在 Stripe 中显示微调器?