Home >php教程 >php手册 >理论上实现真正意义的无限级别菜单

理论上实现真正意义的无限级别菜单

WBOY
WBOYOriginal
2016-06-21 09:11:431158browse

菜单

很久没用php了,为了加深数据结构的基本知识(为考试准备),练习一下基本的算法,当然还是为了以后使用php做菜单的时候免得麻烦。
算法:数据结构中的最基本的树与二叉树的转换
大家凑合着看吧!因为只是为了熟悉一下算法,没有做具体的测试,同时对数据库的操作没有封装成类,大家如果需要可以自行修改或者和我联系!


Your data must save like this:
id,topic,child_l,parent,child_r,content

file name:
show.inc.php
codes:
==================================================


class shows{
    var $items;
    var $the_stack;
    var $count=0;
    

    function find($l_value) {
        for($j=1;$jitems["info_all"];$j++) {
            if($l_value==$this->items["d_id][$j]"])
            { return($j);exit; }
        
        }
            
    }
        
        
    function m_l_r_list($i) {
    
        if(($this->items["f_node][$i]"]==0)&&($this->items["r_node][$i]"]==0)&&($this->items["l_node][$i]"]!=-1))
        {//if it is root node!!!
            echo "

";
            echo "理论上实现真正意义的无限级别菜单";
            echo "pages_0($this->items["d_id][$i]"])."?d_id=".$this->items["d_id][$i]"]."\" target=\"rightFrame\">".$this->items["node_value][$i]"]."";
            echo " items["d_id][$i]"]." target=\"rightFrame\">Add";
            echo "
";
            echo "";
                $this->items["l_node][$i]"]=-1;
                $this->count=$this->count-2;
                
            }
            $this->m_l_r_list($i);
            exit;
        }
    
    }
    
    function pages_0($d_id){//
        include("conn_db.php");
        $Sql_Query="select * from node_page where d_id=$d_id";
        $Query_Db=mysql_query($Sql_Query,$Connect);
        $MyPage=mysql_fetch_array($Query_Db);            
        include("conn_close.php");
        if($MyPage["d_page"]!='')
            {
                return $MyPage["d_page"];
            }    
        else return "init.php";
        }
    function pages($d_id){//
        include("conn_db.php");
        $Sql_Query="select * from node_page where d_id=$d_id";
        $Query_Db=mysql_query($Sql_Query,$Connect);
        $MyPage=mysql_fetch_array($Query_Db);            
        include("conn_close.php");
        return $MyPage["d_page"];
        }    
        
    function showinfo_0($status){//
        include("conn_db.php");
        $Sql_Query="select * from department order by d_id";
        $Query_Db=mysql_query($Sql_Query,$Connect);
        $info_all=mysql_num_rows($Query_Db);
        $this->items["info_all"]=$info_all;
        if($status==1) {//when status=1 show all data gets from database
            $MNums=$info_all;
            }
        if($status==0) {//when status=0 show 6 messages gets from database
            $MNums=6;
            }
        for($i=1;$i            {
            $Messages=mysql_fetch_array($Query_Db);
            $this->items["d_id][$i]"]=$Messages["d_id"];
            $this->items["f_node][$i]"]=$Messages["f_node"];
            $this->items["node_value][$i]"]=$Messages["node_value"];
            $this->items["l_node][$i]"]=$Messages["l_node"];
            $this->items["r_node][$i]"]=$Messages["r_node"];
            }
        include("conn_close.php");
        }    
}



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn