仅供参考
<table align="center" width="96%" bordercolorlight="#9D0B0E" bordercolordark="#ffffff" border="1" cellpadding="2" cellspacing="0">
<form action="newslist.php?blei=<?=$blei;?>" name="form1" method="post">
<tr><td>新闻列表</td>
    <td>请选择新闻类别:</td>
<td><select name="bname" onchange="window.location=('newspub.php?blei='+this.options[this.selectedIndex].value+'')">
 <option selected>请选择类别</option>
 <?
 include "../../inc/conn.php";
 $query="select * from blei order by bid asc";
 $result = @mysql_query($query);
 $num = @mysql_num_rows($result);
 for($i=0;$i<$num;$i++)
 {
 $r = @Mysql_fetch_array($result);
 ?>
 <option value="<?=$r['bid'];?>"><?=$r['bname'];?></option>
<?
 }
?>
</select>
<select name="slei">
<?
  if($blei=="")
  {
?>
<option>请选择发布区</option>
<?
  }
else
  {
$que="select * from slei where stype='$blei'";
$res = @mysql_query($que);
$renum = @Mysql_num_rows($res);
for($j=0;$j<$renum;$j++)
  {
$re = @mysql_fetch_array($res);
?>
    <option value="<?=$re['sid'];?>"><?=$re['sname'];?></option>
<?
  }}
?>
</select>
</td>
<td>
<input type="submit" name="subnews" value="提交">
</td>
</tr>
</form>
</table>

解决方案 »

  1.   

    我再给你一个asp的三连动的,要自己改呀!
    三级下拉框连动的数据库版 三级下拉框连动 

    '数据库: 
    'location 
    '表1 loaction  所在地表 
    '   字段 
    '   loactionid 
    '   loactionname 名字 
    '表2 district  所在的地区表 
    '   字段 
    '   locationid 
    '    districtid 
    '    districtname 
    '表3 village  所在的县区表 
    '   字段 
    '   districtid 
    '   villageid 
    '   villagename <%Option Explicit%> 
    <html> 
    <head> 
    <title>List</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <% 
    dim conn 
    dim rs 
    dim sql 
    dim count 
    dim rs1 
    dim sql1 
    dim rs2 
    dim sql2 
    dim count2 set conn=server.createobject("adodb.connection") 
    conn.open"provider=sqloledb;data source=192.168.0.33;uid=sa;pwd=;database=location;" 
    sql = "select * from district order by locationid asc" 
    set rs = conn.execute(sql) 
    %> 
    <script language = "JavaScript"> 
    var onecount; 
    onecount=0; 
    subcat = new Array(); 
    <% 
    count = 0 
    do while not rs.eof 
    %> 
    subcat[<%=count%>] = new Array("<%= trim(rs("districtname"))%>","<%= trim(rs("locationid"))%>","<%= trim(rs("districtid"))%>"); 
    <% 
    count = count + 1 
    rs.movenext 
    loop 
    rs.close 
    set rs=nothing 
    %> 
    onecount=<%=count%>; function changelocation(locationid) 

    document.myform.smalllocation.length = 0; var locationid=locationid; 
    var i; 
    document.myform.smalllocation.options[0] = new Option('==所选城市的地区==',''); 
    for (i=0;i < onecount; i++) 

    if (subcat[i][1] == locationid) 

    document.myform.smalllocation.options[document.myform.smalllocation.length] = new Option(subcat[i][0], subcat[i][2]); 

    } } 
    </script> 
    <%sql2 = "select * from village order by districtid asc" 
    set rs2 = conn.execute(sql2) 
    %> 
    <script language = "JavaScript"> 
    var onecount2; 
    onecount2=0; 
    subcat2 = new Array(); 
    <% 
    count2 = 0 
    do while not rs2.eof 
    %> 
    subcat2[<%=count2%>] = new Array("<%= trim(rs2("villagename"))%>","<%= trim(rs2("districtid"))%>","<%= trim(rs2("villageid"))%>"); 
    <% 
    count2 = count2 + 1 
    rs2.movenext 
    loop 
    rs2.close 
    set rs2=nothing 
    %> 
    onecount2=<%=count2%>; function changelocation2(villageid) 

    document.myform.village.length = 0; var villageid=villageid; 
    var j; 
    document.myform.village.options[0] = new Option('==所选地区的县区==',''); 
    for (j=0;j < onecount2; j++) 

    if (subcat2[j][1] == villageid) 

    document.myform.village.options[document.myform.village.length] = new Option(subcat2[j][0], subcat2[j][2]); 

    } } 
    </script> </head> 
    <body> 
    <form name="myform" method="post"> 
    题目:<input type="text" name="T2" size="20"> 来源:<input type="text" name="T3" size="20"> 分类:<select name="biglocation" onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)" size="1"> 
    <option selected>请选择你所在的省份</option> 
    <% sql1 = "select * from location order by locationname asc" 
    set rs1 = conn.Execute (sql1) 
    do while not rs1.eof 
    %> 
    <option value="<%=trim(rs1("locationid"))%>"><%=trim(rs1("locationname"))%></option> <% 
    rs1.movenext 
    loop 
    rs1.close 
    set rs1 = nothing 
    conn.Close 
    set conn = nothing 
    %> 
    </select><select name="smalllocation" onChange="changelocation2(document.myform.smalllocation.options[document.myform.smalllocation.selectedIndex].value)"> 
    <option selected value="">==所有地区==</option> 
    </select><select name="village" size="1"> 
    <option selected>==所有县区==</option> 
    </select> 
    关键词:<input type="text" name="T4" size="20"> 内容:<textarea rows="9" name="S1" cols="51"></textarea> 
    </form> </body> 
    </html>  
      

  2.   

    思路就是国家改变时把国家这个值给一个变量并刷新页面.
    使省的那个数据调条件等于那个国家的所以有省的数据.
    地区同理.
    这是一个跟你同理的东东你看看吧.
    ----------------------------  
         <SELECT style="FONT-SIZE: 14px;"
                   onchange=OnSelectRegion(document.frmGetZM.fzm_region,document.frmGetZM.fzm_station,document.frmGetZM.Origin) 
                   size=1 name=fzm_region></SELECT> 
    ---------------------------------
           <SELECT style="FONT-SIZE: 14px; width: 150px"
                   onchange=OnSelectRegion(document.frmGetZM.fzm_region,document.frmGetZM.fzm_station,document.frmGetZM.Origin) 
                   size=1 name=fzm_region></SELECT> 
    ---------------------------------
    var region=new Array('爱立信','诺基亚');
    var zm0=new Array('3310','8130','7250','8810','121210')
    var zm1=new Array('3310','3311','3312','3380','3350','3370')
    function InitSelect(selregion,selstation,zmfield,initarray)
    {
    selregion.options.length=region.length;
    for (loop=0; loop < region.length; loop++)
    selregion.options[loop].text=region[loop];
    selregion.selectedIndex=initarray;
    the_array=eval("zm"+initarray);
    setOptionText(selstation,the_array,zmfield);
    }
    function setOptionText(selstation,the_array,zmfield)
    {
    selstation.options.length=the_array.length;
    for (loop=0; loop < the_array.length; loop++)
    selstation.options[loop].text=the_array[loop];
    selstation.selectedIndex=0;
    zmfield.value=selstation.options[0].text;
    }
    function OnSelectRegion(selregion,selstation,zmfield)
    {
    sel=selregion.selectedIndex;
    the_array=eval("zm"+sel);
    setOptionText(selstation,the_array,zmfield);
    }
    function OnSelectStation(selstation,zmfield)
    {
    sel=selstation.selectedIndex;
    zmfield.value=selstation.options[sel].text;
    }
    --------------------------------这是我以前搞的代码自己都忘了.希望可以给你一个提示吧.最后一部分是自动生成的.可从数据中的数据自动生成你自己想想吧.呵呵.那个诺基亚可以看成是国家.型号可以看成是市.