本帖最后由 caesahu 于 2010-01-31 21:15:31 编辑

解决方案 »

  1.   

    <? include "inc/connect.php"; ?>
    <?
      if($_POST['submit']) {
        $prosql = "insert into pro (smallname,pro_name) values ('" . $_POST['sname'] . "','" . $_POST['name'] . "')"; 
    mysql_query($prosql) or die();
      }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>联动</title>
    </head>
    <body>
    <div id="wrapper">
        <form name="bsclass" method="post" action="<? echo $SCRIPT_NAME ?>">
            <select name="bname" onChange="redirec(document.bsclass.bname.options.selectedIndex)">
            <option selected>选择大类</option>
    <?
      $sql="select * from bigclass";
      $res=mysql_query($sql);
      while($row=mysql_fetch_array($res)) {
    ?>
            <option value="<?=$row[0]?>"><?=$row[1]?></option>
    <? } ?>
            </select><br />
            <select name="sname"><option value="选择小类" selected>选择小类</option><script language="javascript">var select1_len = document.bsclass.bname.options.length;
    var select2 = new Array(select1_len);for (i=0;i < select1_len;i++) {
        select2[i] = new Array();
    }
    <?
      $sql1="select * from bigclass";
      $res1=mysql_query($sql1);
      $i=1;
      while($row1=mysql_fetch_array($res1)) {
          $sql2="select smallname from smallclass where cat_id = $row1[id]";
      $res2=mysql_query($sql2);
    ?>
    select2[<?=$i?>][0] = new Option("选择小类", " ");
    <?
          $j=1;
          while($row2=mysql_fetch_array($res2)) {
    ?>
    select2[<?=$i?>][<?=$j?>] = new Option("<?=$row2[0]?>","<?=$row2[0]?>");
      
    <?
              $j++;
          }
      $i++;
      }
    ?>
    function redirec(x) {
        document.bsclass.sname.length=1;
    var temp = document.bsclass.sname;
    for (i=0;i < select2[x].length;i++) {
        temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
    }
    if(select2[x].length==0)temp.options[0]=new Option("","");
    temp.options[0].selected=true;
    }
    </script>
            
            </select><br />
            <input type="text" name="name" /><br />
            
            <input type="submit" name="submit" value="submit" /><br />
        </form>
    </div>
    </body>
    </html>
    <!--
    bsclass为表单名
    bname为第一个下拉框名
    sname为第二个下拉框名
    bigclass为大类表名
    bigname为大类表中分类名
    smallclass为小类表名
    smallname为小类表中分类名
    cat_id为小类与大类联接字段
    pro表中以smallname与小类相同而进行联接表结构
    bigclass
    id
    bignamesmallclass
    id
    cat_id(与bigclass的id一样就行了)
    smallnamepro
    id
    smallname(与smallclass的smallname一样)
    pro_name
    ……
    ……
    -->我想这应该够简单了吧
    可以自行对它进行简化
      

  2.   

    我的博客里有,不过是用的XML