在表中加一個字段parentid作爲鑒別是否是省份和屬於哪個省份的id

解决方案 »

  1.   

    数据库里面放一张表:存储省以及对应城市列表。然后页面上做一个 SELECT,选择省份,ONCHANGE提交
    然后从库里面调出对应的城市列表,显示在SELECT上面或者你也可以一次把所有的省市、城市列表取出来,然后用JAVASCRIPT在客户端处理。清楚了吗?
      

  2.   

    你的问题没有描述清楚!
    你是要select 的关联显示还是要数据库的存贮?
      

  3.   

    比如:
    id   name  parentid
    1   江蘇     0
    2   南京     1
    3   杭州     1
    只要parentid為0的就是省份,parentid為非零的話,他就屬於id為parentid的那個省份的一個城市或者用兩個表來
    一個存省份,一個存城市
      

  4.   

    我現在明白了:
    看這個例子,是我轉載以前四眼怪的一個回答:
    <form name="form1" method="post">
      <table width="400" cellspacing="0" cellpadding="0">
        <tr> 
          <td colspan="2" height="42"> 
            <div align="center">新增工作任務</div>
          </td>
        </tr>
        <tr> 
          <td width="25%">
            <div align="right">任務主題</div>
          </td>
          <td width="75%"> 
            <input type="text" name="contentname" size="35">
          </td>
        </tr>
        <tr> 
          <td width="25%"> 
            <div align="right">負責人</div>
          </td>
          <td width="75%">   
            <select name="depart" onchange="sel(form1.depart,IdArr,TextArr)">
            </select>
            <select name="userid" >
            </select>
          </td>
        </tr>
        <tr> 
          <td colspan="2" height="44"> 
            <div align="center"> 
              <input type="submit" name="submit" value="保存">
              <input type="button" name="Submit2" value="離開" onclick="self.close()">
            </div>
          </td>
        </tr>
      </table>
    </form>
    <?
    $R=mysql_query("select departid,departname from depart order by id");
    $Num=mysql_num_rows($R);
    echo "<script language=javascript>\n";
    echo "form1.depart.length=$Num;\n";
    echo "IdArr=new Array();\nTextArr=new Array();\n";
    $i=0;
    while($PArr=mysql_fetch_array($R)){
        echo "IdArr[$i]='$PArr[departid]';\n";
        echo "TextArr[$i]='$PArr[departname]';\n";
        echo "form1.depart.options[$i].value='$PArr[departid]';\n";
        echo "form1.depart.options[$i].text='$PArr[departname]';\n";
        echo "IdArr[$i]=new Array();\n";    
        echo "TextArr[$i]=new Array();\n";
        $m=0;
        $SR=mysql_query("select userid,realname from user where department=$PArr[departid]");
        while($SArr=mysql_fetch_array($SR)){
                echo "IdArr[$i][$m]='$SArr[userid]';\n";
                echo "TextArr[$i][$m]='$SArr[realname]';\n";
                $m++;
        }
        $i++;
    }
    echo "</script>\n";
    ?>
    <script language=javascript>
    sel(form1.depart,IdArr,TextArr);
    function sel(select,IdArray,TextArray)
    {
        index=select.selectedIndex;
        form1.userid.length=IdArray[index].length;
        for (n=0;n<IdArray[index].length;n++)
        {
            var op=form1.userid.options[n];
            op.value=IdArray[index][n];
            op.text=TextArray[index][n];
        }
    }
    </script>
      

  5.   

    我的问题是这样的:
    总共有两个"select"
    第一个是“省份”;
    第二个是“城市”;
    假如我在第一个"select"中选择“江苏”;
    那么我在第二个"select"中只能选择“是江苏的城市”;
    其中有两个表;
    一为“省份”;
    一为“城市”;
    谢谢!
      

  6.   

    <form name="form1" method="post">
      <table width="400" cellspacing="0" cellpadding="0">
        <tr> 
          <td colspan="2" height="42"> 
            <div align="center">新增工作任務</div>
          </td>
        </tr>
        <tr> 
          <td width="25%">
            <div align="right">任務主題</div>
          </td>
          <td width="75%"> 
            <input type="text" name="contentname" size="35">
          </td>
        </tr>
        <tr> 
          <td width="25%"> 
            <div align="right">負責人</div>
          </td>
          <td width="75%">   
            <select name="depart" onchange="sel(form1.depart,IdArr,TextArr)">
            </select>
            <select name="userid" >
            </select>
          </td>
        </tr>
        <tr> 
          <td colspan="2" height="44"> 
            <div align="center"> 
              <input type="submit" name="submit" value="保存">
              <input type="button" name="Submit2" value="離開" onclick="self.close()">
            </div>
          </td>
        </tr>
      </table>
    </form>
    <?
    $R=mysql_query("select shengfenid,shengfenname from shengfen order by shengfenid");
    $Num=mysql_num_rows($R);
    echo "<script language=javascript>\n";
    echo "form1.depart.length=$Num;\n";
    echo "IdArr=new Array();\nTextArr=new Array();\n";
    $i=0;
    while($PArr=mysql_fetch_array($R)){
        echo "IdArr[$i]='$PArr[shengfenid]';\n";
        echo "TextArr[$i]='$PArr[shengfenname]';\n";
        echo "form1.depart.options[$i].value='$PArr[shengfenid]';\n";
        echo "form1.depart.options[$i].text='$PArr[shengfenname]';\n";
        echo "IdArr[$i]=new Array();\n";    
        echo "TextArr[$i]=new Array();\n";
        $m=0;
        $SR=mysql_query("select chengshiid,chengshiname from chengshi where shengfenid=$PArr[shengfenid]");
        while($SArr=mysql_fetch_array($SR)){
                echo "IdArr[$i][$m]='$SArr[chengshiid]';\n";
                echo "TextArr[$i][$m]='$SArr[chengshiname ]';\n";
                $m++;
        }
        $i++;
    }
    echo "</script>\n";
    ?>
    <script language=javascript>
    sel(form1.depart,IdArr,TextArr);
    function sel(select,IdArray,TextArray)
    {
        index=select.selectedIndex;
        form1.userid.length=IdArray[index].length;
        for (n=0;n<IdArray[index].length;n++)
        {
            var op=form1.userid.options[n];
            op.value=IdArray[index][n];
            op.text=TextArray[index][n];
        }
    }
    </script>老兄仔細看看嘛,改一改字段名稱和表名就可以了
    我用了很好