<?php
/**********************************************
    index.php  -  首页程序 Version  : 1.2
www.dahannet.com
[email protected]
Writed   : 2003/08/08
Modified : 2004/04/17
***********************************************/
 
require "./include/base.php";
require "./include/catalog.php";
require "./include/code.php";
$sortselect=getsortselect();
//======= 取商品类别列表 ==================================================
$sortlist=array();
$query = $db->query("select * from $table_sorts where class='group' order by sortid");
while($dbq_rec = $db->fetch_array($query))
{
    $t_sortid=$dbq_rec['sortid'];
$sortlist[]=$dbq_rec;
echo "$dbq_rec[sortname]<br>";
    $query_1 = $db->query("select * from $table_sorts where supsortid = $t_sortid");
    while($dbq_rec_1 = $db->fetch_array($query_1))
     {

      $t_sortid=$dbq_rec_1['sortid'];
    $sortlist[]=$dbq_rec_1;
    $sub_line="";
echo "$dbq_rec_1[sortname]<br>";
    $query_2 = $db->query("select * from $table_sorts where supsortid = $t_sortid");
    while($dbq_rec_2 = $db->fetch_array($query_2))
     {
      $sub_line.="<a class=sort href='productdisplay.php?sortid=$dbq_rec_2[sortid]'>".$dbq_rec_2[sortname]."</a>&nbsp;&nbsp;";
      $sortlist[]=$dbq_rec_2; 
echo "$dbq_rec_2[sortname]<br>";
        
     }
     $dbq_rec_1[subline]=$sub_line;
     $sortlist[]=$dbq_rec_1;   

     }

}
unset($query);unset($dbq_rec);unset($query_1);unset($dbq_rec_1);unset($query_2);unset($dbq_rec_2);
?>
这是我的代码

解决方案 »

  1.   

    用js做吧
    把取出来的结果集存到js里
    对mouse事件进行处理
      

  2.   

    //PHP部分:
    //取得下拉联动数据
    $result=mysql_query("SELECT * FROM units LEFT JOIN users ON (users.unit=units.unid) ORDER BY unsort,usort");
    $mx=mysql_num_rows($result);

    for ($i=0;$i<$mx;$i++) {
    $r=mysql_fetch_array($result);
    $uname=$r['uname'];
    $unid =$r['unid'];
    $usname=$r['username'];
    $usid=$r['userid']; if ($lasun!=$uname) {
    $java1=$java1 . "\"$uname\",";
    $java2=$java2 . "\"$unid\",";
    $lasun=$uname; if ($i>0) {
    $java3=$java3 . "],[";
    $java4=$java4 . "],[";
    }
    } else {
    $java3=$java3 . ",";
    $java4=$java4 . ",";
    }

    $java3= $java3 . "\"$usname\"";
    $java4= $java4 . "\"$usid\"";

    }$java1="[" . substr_replace($java1,"",-1) . "]\n";
    $java2="[" . substr_replace($java2,"",-1) . "]\n";
    $java3="[[" . $java3 . "]]\n";
    $java4="[[" . $java4 . "]]\n";//javascript部分
    <SCRIPT LANGUAGE="JavaScript" DEFER>
    var fMenu = <?=$java1?>
    var fValue = <?=$java2?>
    var sMenu = <?=$java3?>
    var sValue = <?=$java4?>var oWhere = document.all.tar;
    var ofMenu = document.createElement("<SELECT name='unid'>");
    var osMenu = document.createElement("<SELECT name='usid'>");
    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]);
        }
    }function checkuser() {
    if (document.forms[1].elements[1].value=="") { alert("没有选择用户"); return false; }
    }
    </SCRIPT>//在HTML中引用
    <div id="tar" style="display:inline"></div>另外附users和units数据表结构
    表users:
    userid
    username
    unit表units:
    unid
    uname
      

  3.   

    做个参考,二级连动:
    --------------------------------------------------------------------
    <html> 
    <head> 
    <title>List</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312"> 
    <? 
    $link = mysql_connect("localhost","root","root"); 
    mysql_select_db("ccarol", $link ); $sql="select * from tbl_psort"; 
    $query=mysql_query($sql,$link); 
    ?> <script language = "JavaScript"> var onecount; 
    onecount = 0; 
    subcat = new Array(); 
    <? 
    $count=0; 
    while($rs=mysql_fetch_array($query)){ 
    ?> 
    subcat[<?=$count;?>] = new Array("<?=$rs['psor_name'];?>","<?=$rs['pcat_id'];?>","<?=$rs['psor_id'];?>","<?=$rs['areacode']?>","<?=$rs['zipcode']?>"); 
    <? 
    $count++; 

    ?> 
    onecount=<?=$count?>; function GetCode(psor_nameId){ 
    var psor_nameId=psor_nameId; 
    var i; 
    for(i=0;i < onecount; i++){ 
    if(subcat[2] == psor_nameId){ 
    document.creator.AreaCode.value = subcat[3]; 
    document.creator.ZipCode.value = subcat[4]; 


    } function ClearCode(){ 
    document.creator.AreaCode.value = ''; 
    document.creator.ZipCode.value = ''; 
    } function getpsor_name(locationid) 

    document.creator.psor_name.length = 0; var locationid=locationid; var i; 
    document.creator.psor_name.options[0] = new Option('选择小类别',''); 
    for (i=0;i < onecount; i++) 

    if (subcat[1] == locationid) 

    document.creator.psor_name.options[document.creator.psor_name.length] = new Option(subcat[0], subcat[2]); 

    } } 
    </script> 
    </head> 
    <body> 
    <form name="creator" method="post" action=""> 
    分类:<select name="pcat_name" onChange="getpsor_name(document.creator.pcat_name.options[document.creator.pcat_name.selectedIndex].value);ClearCode();" size="1"> 
    <option selected>请选择大类别</option> 
    <? 
    $sql1= "select * from tbl_pcatalog"; 
    $query=mysql_query($sql1,$link); 
    $a=mysql_num_rows($query); 
    while($rs1=mysql_fetch_array($query)){ 
    ?> 
    <option value="<?=$rs1['pcat_id'];?>"><?=$rs1['pcat_name'];?></option> 
    <?}?> 
    </select> 
    <select name="psor_name" onChange="GetCode(document.creator.psor_name.options[document.creator.psor_name.selectedIndex].value);"> 
    <option selected value="">请选择小类别</option> 
    </select> 
    <INPUT TYPE="hidden" NAME="AreaCode"><INPUT TYPE="hidden" NAME="ZipCode"> 
    </form> 
    </body> 
    </html> 
    <? 
    if(!empty($_POST['psor_name'])){ 
    echo $_POST['psor_name']; 

    ?> # 
    # 数据表的结构 `tbl_pcatalog` 
    # CREATE TABLE tbl_pcatalog ( 
      pcat_id int(11) NOT NULL auto_increment, 
      pcat_name varchar(20) NOT NULL default '', 
      pcat_desc varchar(150) default NULL, 
      pcat_enname varchar(20) default NULL, 
      pcat_memo2 varchar(100) default NULL, 
      PRIMARY KEY  (pcat_id) 
    ) TYPE=MyISAM; 
    # -------------------------------------------------------- # 
    # 数据表的结构 `tbl_psort` 
    # CREATE TABLE tbl_psort ( 
      psor_id int(11) NOT NULL auto_increment, 
      pcat_name varchar(20) NOT NULL default '', 
      psor_name varchar(20) NOT NULL default '', 
      psor_desc varchar(150) default NULL, 
      psor_enname varchar(20) default NULL, 
      pcat_id int(11) default NULL, 
      PRIMARY KEY  (psor_id) 
    ) TYPE=MyISAM; 
    --------------------------------------------------------------------
      

  4.   

    http://urg.vicp.net/A_Tree.php
    接分咯,我哈哈…………
    其实搞懂JS和数据库结构其它就好办拉!
    这个JS很好的拉,菜单不限制级数的,爽啊