1

我的问题是我尝试根据先前下拉列表中的选择加载下拉列表。我正在从数据库中加载值。但是当我使用时,$_get['emirate']我没有得到价值。它说该值未设置。

$data = mysql_query("SELECT * FROM emirate") 
        or die(mysql_error()); 

    Print "<table border cellpadding=3>"; 
    print"<tr><th><form method=get action='index.php'><select id=EMIRATE size=1><OPTION value=all>all</option>";
    while($info = mysql_fetch_array( $data )) 
    { 
        Print "<option value=". $info['em_name'] .">".$info['em_name']."</option>"; 
    }
    print"</select></form></th>";
    if(isset($_GET['EMIRATE'])){
        $name=$_GET['EMIRATE'];
        echo $name;

        $data = mysql_query("SELECT a_name FROM areas where em_id=(select em_id from emirate where em_name=\"".$name."\")") 
        or die(mysql_error());
        Print "<th><select name=AREAS size=1>";
        while($info = mysql_fetch_array( $data ))
        {
            Print "<option >".$info['a_name']."</option>";
        }
        print"</select></th>";
    }
4

3 回答 3

3

我发现了问题。

我没有放置提交按钮,因此我的表单没有被提交。因此我没有从 $_GET 中获得任何价值。

http://php.net/manual/en/reserved.variables.get.php

现在我顺利地得到了结果。

于 2012-11-22T06:05:36.700 回答
1

您在上一页的表单上使用哪种方法,发布或获取?

您可以将 $_GET 替换为 $_REQUEST,它从 post 和 get 中检索值。

于 2012-10-17T07:59:39.347 回答
1
<select id=EMIRATE size=1><OPTION value=all>all</option>

请修复 HTML .... 您错过了为您的选择设置名称属性...

<select id="EMIRATE" size="1" name="EMIRATE">
    <option value="all">all</option>
    ....
于 2012-10-17T08:09:47.567 回答