PHP树形菜单一次展开一个子项目


<?php require('../Connections/lr.php'); ?>
<?php require('pageconfig.php');
$htmlcatalogue = "html/";//生成文件所在的目录
?>
<SCRIPT language=JavaScript> 
    var __cc_uid="shenglu"; 
</SCRIPT>
<SCRIPT type=text/javascript>
var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only

if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">/n')
document.write('.submenu{display: none;}/n')
document.write('</style>/n')
}

function SwitchMenu(obj){
        if(document.getElementById){
        var el = document.getElementById(obj);
        var ar = document.getElementById("masterdiv").getElementsByTagName("tr"); //DynamicDrive.com change
                if(el.style.display != "block"){ //DynamicDrive.com change
                        for (var i=0; i<ar.length; i++){
                                if (ar[i].className=="submenu") //DynamicDrive.com change
                                ar[i].style.display = "none";
                        }
                        el.style.display = "block";
                }else{
                        el.style.display = "none";
                }
        }
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function onloadfunction(){
if (persistmenu=="yes"){
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=get_cookie(cookiename)
if (cookievalue!="")
document.getElementById(cookievalue).style.display="block"
}
}

function savemenustate(){
var inc=1, blockid=""
while (document.getElementById("sub"+inc)){
if (document.getElementById("sub"+inc).style.display=="block"){
blockid="sub"+inc
break
}
inc++
}
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid
document.cookie=cookiename+"="+cookievalue
}

if (window.addEventListener)
window.addEventListener("load", onloadfunction, false)
else if (window.attachEvent)
window.attachEvent("onload", onloadfunction)
else if (document.getElementById)
window.οnlοad=onloadfunction

if (persistmenu=="yes" && document.getElementById)
window.οnunlοad=savemenustate

</SCRIPT>

<STYLE type=text/css>BODY {
        FONT-SIZE: 12px; COLOR: #666666
}
TD {
        FONT-SIZE: 12px; COLOR: #666666
}
TH {
        FONT-SIZE: 12px; COLOR: #666666
}
BODY {
        MARGIN: 0px; BACKGROUND-COLOR: #f7f7f7
}
.xian {
        BORDER-RIGHT: #bbbbbb 1px solid; BORDER-LEFT: #bbbbbb 1px solid
}
.sousuo {
        BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #666666 1px solid; COLOR: #ff0000; BORDER-BOTTOM: #666666 1px solid
}
.sousuoboot {
        FONT-SIZE: 12px; COLOR: #ffffff; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #dc211a; BORDER-BOTTOM-STYLE: none
}
.form {
        PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 12px
}
.imgnews {
        HEIGHT: 100px
}
.news {
        PADDING-TOP: 10px
}
A:link {
        COLOR: #666666; TEXT-DECORATION: none
}
A:visited {
        COLOR: #666666; TEXT-DECORATION: none
}
A:hover {
        COLOR: #ff0000; TEXT-DECORATION: underline
}
A:active {
        COLOR: #ff0000; TEXT-DECORATION: none
}
.mainbg {
        BACKGROUND-POSITION: 50% top; BACKGROUND-IMAGE: url(images/2009.gif); BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #ffffff
}
.more {
        MARGIN-TOP: 11px; MARGIN-LEFT: 178px
}
</STYLE>

<STYLE type=text/css>.menutitle {
        PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; MARGIN-LEFT: auto; WIDTH: 200px; CURSOR: pointer; COLOR: #000000; MARGIN-RIGHT: auto; PADDING-TOP: 2px
}
.submenu {
        MARGIN-BOTTOM: 0.5em
}
</STYLE>


 <div align="center" class="cata">Browse by category</div>
<TABLE id=masterdiv cellSpacing=2 cellPadding=0 width="100%" align=center border=0>
              <TBODY>
                          <?php mysql_select_db($database_lr, $lr);
$query = mysql_query("SELECT * FROM bigclass order by sort");
    $j=0;
        while($row=mysql_fetch_array($query))
{$j=$j+1;
$bigclassid=$row['bigclassid'];
$bigclassname_leftmenu=$row['bigclassname'];
if ($htmlname==1){
        $bigclass_htmlname_leftmenu=$bigclassname_leftmenu;//大类名称
                if (substr_count($bigclass_htmlname_leftmenu," ")>0){
                $bigclass_htmlname_leftmenu= str_replace(" ","-",$bigclass_htmlname_leftmenu);
                }
        }
        if ($htmlname==0){
        $bigclass_htmlname_leftmenu=$bigclassid;
        }
?>

              <TR class=menutitle onClick="SwitchMenu('sub<?php echo $j?>')">
                <TD> <img src="../images/arrow.gif" style="margin-bottom:1px"/><Span class="bigclassname"><?php echo $row['bigclassname']?></Span></TD></TR>
                                  <Tr>
                                   <TR class=submenu id=sub<?php echo$j?>>
                <TD>
                                
                                
                                
                  <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
                                  
                    <TBODY>
                                        <?php
mysql_select_db($database_lr, $lr);
$query_small = mysql_query("SELECT * FROM smallclass where bigclassid='$bigclassid' order by sort");
while($rs=mysql_fetch_array($query_small))

        
{
$smallclassid_small_leftmenu=$rs['smallclassid'];
$smallclassname_small=$rs['smallclassname'];//小类名称

        if ($htmlname==1){
        $smallclass_htmlname=$smallclassname_small;
                if (substr_count($smallclass_htmlname," ")>0){
                $smallclass_htmlname= str_replace(" ","-",$smallclass_htmlname);
                }
        }
        if ($htmlname==0){
        $smallclass_htmlname=$smallclassid_small_leftmenu;
        }

?>
                                        <tr><Td>&nbsp;&nbsp;&nbsp;<img src="../images/arrow.gif" style="margin-bottom:0px"/><a href="<?php echo "../".$htmlcatalogue."".$bigclass_htmlname_leftmenu."_".$smallclass_htmlname."_page_1.html"?>" class="smallclasslink"><?php echo $rs['smallclassname']?></a></Td></tr>
                                        <?php
}          ?>
                                        </TBODY></TABLE>
                                        
                                        
                                        
                                        </TD></TR>
                                        <?php
}          ?></TBODY></TABLE>
数据库为mysql,表结构如下,bigclass 字段为bigclassid bigclassname ,小类为smallclass字段为smallclassid,smallclassid
 

转载于:https://www.cnblogs.com/ajuanabc/archive/2008/02/28/2463702.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你有一个树形结构的数据,如下: ``` [ { "id": 1, "name": "Parent 1", "children": [ { "id": 2, "name": "Child 1 of Parent 1", "children": [ { "id": 4, "name": "Grandchild 1 of Child 1 of Parent 1", "children": [] }, { "id": 5, "name": "Grandchild 2 of Child 1 of Parent 1", "children": [] } ] }, { "id": 3, "name": "Child 2 of Parent 1", "children": [] } ] }, { "id": 6, "name": "Parent 2", "children": [ { "id": 7, "name": "Child 1 of Parent 2", "children": [ { "id": 8, "name": "Grandchild 1 of Child 1 of Parent 2", "children": [] } ] } ] } ] ``` 在 Controller 层中,你可以使用 Laravel 的 Response 类来返回一个 JSON 格式的数据。你需要将树形结构的数据转换为 JSON 格式的字符串,然后使用 Response 类将其返回。 你可以使用 PHP 的内置函数 json_encode 将数据转换为 JSON 格式的字符串。然后,你可以使用 Response 类的 json 方法将 JSON 格式的字符串作为响应返回。如下所示: ```php public function tree() { $data = [ [ "id" => 1, "name" => "Parent 1", "children" => [ [ "id" => 2, "name" => "Child 1 of Parent 1", "children" => [ [ "id" => 4, "name" => "Grandchild 1 of Child 1 of Parent 1", "children" => [] ], [ "id" => 5, "name" => "Grandchild 2 of Child 1 of Parent 1", "children" => [] ] ] ], [ "id" => 3, "name" => "Child 2 of Parent 1", "children" => [] ] ] ], [ "id" => 6, "name" => "Parent 2", "children" => [ [ "id" => 7, "name" => "Child 1 of Parent 2", "children" => [ [ "id" => 8, "name" => "Grandchild 1 of Child 1 of Parent 2", "children" => [] ] ] ] ] ] ]; return response()->json($data); } ``` 在上面的例子中,我们将树形结构的数据保存在 $data 变量中。然后,我们使用 Laravel 的 Response 类将数据转换为 JSON 格式的字符串,并将其作为响应返回。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值