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

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

WBOY
WBOYoriginal
2016-06-21 09:11:431158parcourir

菜单

很久没用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");
        }    
}



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn