读数据库还有困难吗,不就select一下?

解决方案 »

  1.   

    onclick事件中用getElementById获得其值
      

  2.   

    <script LANGUAGE="javascript">
    <!--
    var subval = new Array();
    <?php
    $small_sql_lb = "SELECT * FROM prod_small_class";
    $small_res_lb = db_query($small_sql_lb);
    $small_num1_lb = db_num_rows($small_res_lb);
    for ($i=0;$i<$small_num1_lb;$i++){
    $small_row_lb = db_fetch_array($small_res_lb);
    ?>
    subval[<?php echo $i?>] = new Array('<?php echo $small_row_lb['big_class']?>','<?php echo $small_row_lb['small_class_id']?>','<?php echo $small_row_lb['small_class_name']?>')
    <?php
      $small_num2_lb--;
    }
    ?>
    function changeselect1(locationid)
    {
        document.form1.s2.length = 0;
        document.form1.s2.options[0] = new Option('==請選擇小類==','');
        
        for (i=0; i<subval.length; i++)
        {
            if (subval[i][0] == locationid)
            {document.form1.s2.options[document.form1.s2.length] = new Option(subval[i][2],subval[i][1]);}
        }
    }//-->
    </script><form action="" method="post" name="form1">
    <select name="s1" onChange="changeselect1(this.value)">
    <option>請選擇大類</option>
    <?php
    $sql_lb = "SELECT * FROM prod_class";
    $res_lb = db_query($sql_lb);
    $num1_lb = db_num_rows($res_lb);
    $num2_lb = $num1_lb;
    while ($num2_lb > 0){
      $row_lb = db_fetch_array($res_lb);
    ?>
      <option value="<?php echo $row_lb['prod_class_id']?>"><?php echo $row_lb['prod_class_name']?></option>
    <?php
      $num2_lb--;
    }
    ?>
    </select>
    <select name="s2"  onChange="changeselect2(this.value)"> 
    <option>請選擇小類</option>
    </select>
    </form>
      

  3.   

    數據庫
    CREATE TABLE `prod_class` (
      `prod_class_id` int(11) NOT NULL auto_increment,
      `prod_class_name` varchar(255) NOT NULL default '',
      `prod_class_num` int(11) NOT NULL default '0',
      PRIMARY KEY  (`prod_class_id`),
      KEY `prod_class_id` (`prod_class_id`)
    ) TYPE=MyISAM AUTO_INCREMENT=28 ;
    CREATE TABLE `prod_small_class` (
      `small_class_id` int(11) NOT NULL auto_increment,
      `big_class` int(11) NOT NULL default '0',
      `small_class_name` varchar(255) NOT NULL default '',
      `small_class_contuct` longtext NOT NULL,
      `small_class_num` int(11) NOT NULL default '0',
      PRIMARY KEY  (`small_class_id`)
    ) TYPE=MyISAM AUTO_INCREMENT=4 ;
      

  4.   

    <?php
    function btype()
    {
    global $db;
    $btype_query = $db->exec("select id,bname from news_bclass order by id desc") or die('查询失败');
    $i=0;
    while($btplist = $db->fetch($btype_query))
    {
    $btype_list.="<option value='".$btplist['id']."'>".$btplist['btype']."</option>";
    }
    return $btype_list;
    }
    $stype_query = $db->exec("select id,sname,parentid from stype") or die('查询失败');
    $j=0;
    while($stplist = $db->fetch($stype_query))
    {
    //$stype_list="<option value='".$stplist['id']."'>".$stplist['type']."</option>";
    $stype_list.='Citys['.$j.'] =new Array("'.$stplist['btypeid'].'","'.$stplist['sid'].'","'.$stplist['stype'].'");';
    $j=$j+1;
    }
    ?><script language ="javascript" >
    Citys = new Array();
    <? echo $stype_list;?>function changeselect(selvalue)
    {
     var selvalue = selvalue;
     var i;
     document.form1.s_class.length = 0 ;
     document.form1.s_class.options[document.form1.s_class.length] = new Option("请选择","");
     for (i = 0 ;i <Citys.length;i++)
     {
      if(Citys[i][0]==selvalue){
       document.form1.s_class.options[document.form1.s_class.length] = new Option(Citys[i][2],Citys[i][1]);
      }
     }
    }
    document.form1.s_class.options[document.form1.s_class.length] = new Option("请选择","");
    </script><DIV>
      <select size="1" name="b_class" onchange ="changeselect(document.form1.b_class.options[document.form1.b_class.selectedIndex].value)">
      <option value=''>选择大类</option>
                 <? echo btype();?></select>
      <select size="1" name="s_class"></select>  <DIV>
      

  5.   

    subval[<?php echo $i?>] = new Array('大類ID','小類ID','小類文字')
    $_POST['s1'];大類
    $_POST['s1'];小類取的是ID值
      

  6.   

    subval[<?php echo $i?>] = new Array('大類ID','小類ID','小類文字')
    $_POST['s1'];大類
    $_POST['s2'];小類取的是ID值
      

  7.   

    <?php $query1=mysql_query("select * from country where language_kind = '0' order by id asc"); 
    $fMenu=""; 
    $fValue=""; 
    while($data1=mysql_fetch_array($query1)){ 
    $fMenu.="\"".$data1[name]."\","; 
    $fValue.="\"".$data1[id]."\","; } 
    $fMenu=substr($fMenu,0,(strlen($fMenu)-1)); 
    $fMenu="[".$fMenu."]";//*****************************得到var fMenu 
    $fValue=substr($fValue,0,(strlen($fValue)-1)); 
    $fValue="[".$fValue."]";//*****************************得到var fValue //得到*****************************var sMenu 
    $query1=mysql_query("select * from country where language_kind = '0' order by id asc"); 
    while($data1=mysql_fetch_array($query1)){ 
    $province_id1=$data1[id]; $query2=mysql_query("select * from province where province_id='$province_id1' order by province_id desc"); 
    while($data2=mysql_fetch_array($query2)){ 
    $num=mysql_num_rows($query2); 
    $i++; 
    $sMenu.="\"".$data2[name]."\","; 
    if($i==$num){ 
    $sMenu="[".$sMenu."],["; 
    $i=0; 



    $sMenu.="]"; 
    $sMenu=str_replace("\",]","\"]",$sMenu); 
    $sMenu=str_replace(",[]","]",$sMenu); 
    if((substr($sMenu,0,2))=="[\""){ 
    $sMenu="[".$sMenu; 
    }else{ 
    $sMenu=preg_replace("/\[{3,}/is","[[\\1",$sMenu);//匹配 
    } //得到*****************************var sValue 
    $query1=mysql_query("select * from country where language_kind = '0' order by id asc"); 
    while($data1=mysql_fetch_array($query1)){ 
    $province_id=$data1[id]; $query2=mysql_query("select * from province where province_id='$province_id' order by province_id asc"); 
    while($data2=mysql_fetch_array($query2)){ 
    $nums=mysql_num_rows($query2); 
    $j++; 
    $sValue.="\"".$data2[id]."\","; 
    if($j==$nums){ 
    $sValue="[".$sValue."],["; 
    $j=0; 



    $sValue.="]"; 
    $sValue=str_replace("\",]","\"]",$sValue); 
    $sValue=str_replace(",[]","]",$sValue); 
    if((substr($sValue,0,2))=="[\""){ 
    $sValue="[".$sValue; 
    }else{ 
    $sValue=preg_replace("/\[{3,}/is","[[\\1",$sValue);//匹配 
    } ?> 
    <div id="tar"></div> 
    <SCRIPT LANGUAGE="JavaScript" DEFER> 
    var fMenu = <?php echo $fMenu; ?>; 
    var fValue = <?php echo $fValue; ?>; 
    var sMenu = <?php echo $sMenu; ?>; 
    var sValue = <?php echo $sValue; ?>; var oWhere = document.all.tar; 
    var ofMenu = document.createElement("<SELECT name='bigclass'>"); 
    var osMenu = document.createElement("<SELECT name='smallclass'>"); 
    with(oWhere)appendChild(ofMenu),appendChild(osMenu); createMainOptions(); 
    createSubOptions(0); ofMenu.onchange = function() {createSubOptions(this.selectedIndex);}; function createMainOptions() { 
    for(var i=0;i<fMenu.length;i++)ofMenu.options[i] = new Option(fMenu[i],fValue[i]); 

    function createSubOptions(j) { 
    with(osMenu) { 
    length=0; 
    for(var i=0;i<sMenu[j].length;i++)osMenu.options[i] = new Option(sMenu[j][i],sValue[j][i]); 


    </SCRIPT> 
    <?php
    /* 
    调用方法: 
    将此代码保存为文件ld2.php 
    例如要在write.php页面放一个二级联动,则在write.php页面 
    要放置二级联动的地方加一句require_once("ld2.php"); 
    若write.php要向save.php页面提交数据则在save.php中使用 
    $bigclass=$_POST["bigclass"];//取得大类的id值 
    $smallclass=$_POST["smallclass"];//取得小类的id值 
    接下来就知道该怎么做了吧…… 
    附表的结构: 
     可能有的表的结构和我有些不同,但基本点都一样,修改程序 
    中对应字段和表名就ok 
    程序写的有点乱,不过绝对可以放心的使用 
    欢迎与我交流探讨! 
    --------------------------------------------------------- 
    大类的表news_bclass结构 CREATE TABLE news_bclass ( 
    id int(11) NOT NULL auto_increment, 
    bname varchar(10) NOT NULL default '', 
    PRIMARY KEY (id), 
    UNIQUE KEY id_2 (id), 
    KEY id (id) 
    ) TYPE=MyISAM; 字段说明:bname为大类中文名称 
    ------------------------------ 小类的表news_sclass结构 CREATE TABLE news_sclass ( 
    id int(11) NOT NULL auto_increment, 
    sname varchar(10) NOT NULL default '', 
    parentid int(10) NOT NULL default '0', 
    bname varchar(10) NOT NULL default '', 
    PRIMARY KEY (id), 
    UNIQUE KEY id_2 (id), 
    KEY id (id) 
    ) TYPE=MyISAM; 字段说明:sname为小类中文名称 
         parendid为大类中的id值 
    bname为大类中文名称 
    */ 
    ?>