欢迎光临
我们一直在努力

写不下了-PHP教程,PHP应用

建站超值云服务器,限时71元/月

==================================================
file name:
dboper.inc.php
codes:
==================================================
<?
class dboper {
    var $items;
    var $result=0;
    
    function find($l_value) {
        for($j=1;$j<=$this->items["info_all"];$j++) {
            if($l_value==$this->items["d_id][$j]"])
            { return($j);exit; }
        
        }
            
    }
    
    function del($id) {
        //echo "del"." ".$id."<br>";
        include("conn_db.php");
        $sql_query="delete from department where d_id=$id";
        $query_db=mysql_query($sql_query,$connect);
        
        //echo $sql_query;
        include("conn_close.php");
    }
    
    function update($d_id,$f_node,$l_node,$r_node) {
        include("conn_db.php");
        $sql_query="update department set f_node=".$f_node.",l_node=".$l_node.",r_node=".$r_node." where d_id=".$d_id;
        $query_db=mysql_query($sql_query,$connect);
        
        //echo $sql_query;
        include("conn_close.php");
    }
        
    function d_tree($id,$base_id){//
        //echo "do<br>";
        $m=$this->find($base_id);//m is the position of $base_id in arrays
        $i=$this->find($id);
        
        if(($this->items["l_node][$i]"]!=0))
        {    
            //echo "向左下一级";
            //echo "<br>";
            $i=$this->find($this->items["l_node][$i]"]);
            $this->d_tree($this->items["d_id][$i]"],$base_id);
            //exit;
        }
        if(($this->items["r_node][$i]"]!=0)&&($this->items["l_node][$i]"]==0))
        {    
            //echo "向右下一级";
            //echo "<br>";
            $i=$this->find($this->items["r_node][$i]"]);
            $this->d_tree($this->items["d_id][$i]"],$base_id);
            //exit;
        }        
        
        if(($this->items["r_node][$i]"]==0)&&($this->items["l_node][$i]"]==0))
        {
            if($this->result==1){//very important method to exit my function
                return true;
            }
            $this->del($this->items["d_id][$i]"]);
            $j=$i;//save this node information
            $i=$this->find($this->items["f_node][$i]"]);//find its parent node
            //begin—————————————————–
            //if this node is the node you want to delete,delete it and exit function
            if(($this->items["r_node][$i]"]==$base_id)||($this->items["l_node][$i]"]==$base_id))
            {
                $this->result=1;
                return true;
            }
            //end——————————————————–
            else {
            //begin——————————————————
            //if this node is the child node of you wanted to deleted node
            //up to parent node and continue find
                if($this->items["r_node][$i]"]==$this->items["d_id][$j]"])
                {
                    //echo "左上一级";
                    //echo "<br>";
                    $this->items["r_node][$i]"]=0;
                    $this->d_tree($this->items["d_id][$i]"],$base_id);
                    //exit;
                }
                
                if($this->items["l_node][$i]"]==$this->items["d_id][$j]"])
                {
                    //echo "右上一级";
                    //echo "<br>";
                    $this->items["l_node][$i]"]=0;
                    $this->d_tree($this->items["d_id][$i]"],$base_id);
                    //exit;
                }
            //end———————————————————-    
            }
            
        }        
    }    

    function d_node_tree($id,$base_id) {
        $m=$this->find($base_id);//m is the position of $base_id in arrays
        $i=$this->find($id);
        
        if(($this->items["l_node][$m]"]!=0))
        {
            $i=$this->find($this->items["l_node][$m]"]);//current nodes left child node
            $j=$this->find($this->items["f_node][$m]"]);//current nodes parent
            $this->d_tree($this->items["d_id][$i]"],$this->items["d_id][$i]"]);//del whole left child tree
            if($this->items["r_node][$m]"]!=0) {
                if($this->items["r_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $i=$this->find($this->items["r_node][$m]"]);
                    $this->items["r_node][$j]"]=$this->items["d_id][$i]"];
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                    $this->items["f_node][$i]"]=$this->items["d_id][$j]"];
                    $this->update($this->items["d_id][$i]"],$this->items["f_node][$i]"],$this->items["l_node][$i]"],$this->items["r_node][$i]"]);
                    //update where id = $this->items["d_id][$i]"]
                }
                
                if($this->items["l_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $i=$this->find($this->items["r_node][$m]"]);
                    $this->items["l_node][$j]"]=$this->items["d_id][$i]"];
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                    $this->items["f_node][$i]"]=$this->items["d_id][$j]"];
                    $this->update($this->items["d_id][$i]"],$this->items["f_node][$i]"],$this->items["l_node][$i]"],$this->items["r_node][$i]"]);
                    //update where id = $this->items["d_id][$i]"]
                }
                $this->del($this->items["d_id][$m]"]);
            }
            
            if($this->items["r_node][$m]"]==0) {
                if($this->items["r_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $this->items["r_node][$j]"]=0;
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                }
                
                if($this->items["l_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $this->items["l_node][$j]"]=0;
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                }
                $this->del($this->items["d_id][$m]"]);//del node it self
            }
            return true;
        }
        
        if(($this->items["l_node][$m]"]==0))
        {
            if($this->items["r_node][$m]"]!=0) {
                
                $j=$this->find($this->items["f_node][$m]"]);//current nodes parent
                if($this->items["r_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $i=$this->find($this->items["r_node][$m]"]);//current nodes right child node
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["d_id][$i]"]);
                    //update where id = $this->items["d_id][$j]"]
                    $this->update($this->items["d_id][$i]"],$this->items["d_id][$j]"],$this->items["l_node][$i]"],$this->items["r_node][$i]"]);
                    //update where id = $this->items["d_id][$i]"]
                }
                
                if($this->items["l_node][$j]"]==$this->items["d_id][$m]"])//if its parents right child node
                {
                    $i=$this->find($this->items["r_node][$m]"]);
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["d_id][$i]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                    $this->items["f_node][$i]"]=$this->items["d_id][$j]"];
                    $this->update($this->items["d_id][$i]"],$this->items["d_id][$j]"],$this->items["l_node][$i]"],$this->items["r_node][$i]"]);
                    //update where id = $this->items["d_id][$i]"]
                }
            }
            if($this->items["r_node][$m]"]==0) {
                $j=$this->find($this->items["f_node][$m]"]);//current nodes parent
                if($this->items["r_node][$j]"]==$this->items["d_id][$m]"])
                {
                    $this->items["r_node][$j]"]=0;
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                }
                if($this->items["l_node][$j]"]==$this->items["d_id][$m]"])
                {
                    $this->items["l_node][$j]"]=0;
                    $this->update($this->items["d_id][$j]"],$this->items["f_node][$j]"],$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
                    //update where id = $this->items["d_id][$j]"]
                }
            }        
            $this->del($this->items["d_id][$m]"]);
            return true;
        }
    }
    
    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<=$mnums;$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");
        }
}
?>

==================================================
file name:
conn_db.php
codes:
==================================================
<?
$connect = @mysql_connect(localhost,root,) or die("could not connet to server please try later");
mysql_select_db("testxxx",$connect);
?>

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

<?
class addnode{
    
    function find($l_value) {
        for($j=1;$j<=$this->items["info_all"];$j++) {
            if($l_value==$this->items["d_id][$j]"])
            { return($j);exit; }
        
        }
            
    }
    
    function search_id() {
        include("conn_db.php");
        $sql_query="select * from department order by d_id desc";
        $query_db=mysql_query($sql_query,$connect);
        $messages=mysql_fetch_array($query_db);
        include("conn_close.php");
        return $messages["d_id"];
        }    
        
    function insertnode($f_node,$node_value,$r_node) {
        include("conn_db.php");
        $sql_query="insert into department values(,$f_node,$node_value,0,$r_node)";
        $query_db=mysql_query($sql_query,$connect);
        include("conn_close.php");
    }

    function update($d_id,$f_node,$l_node,$r_node) {
        include("conn_db.php");
        $sql_query="update department set f_node=".$f_node.",l_node=".$l_node.",r_node=".$r_node." where d_id=".$d_id;
        $query_db=mysql_query($sql_query,$connect);
        
        //echo $sql_query;
        include("conn_close.php");
    }
        
    function add($id,$node_value) {
        $i=$this->find($id);
        if(($this->items["l_node][$i]"]!=0))
        {        
            $j=$this->find($this->items["l_node][$i]"]);
            
            $this->update($this->items["d_id][$j]"],0,$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
            $this->insertnode($this->items["d_id][$i]"],$node_value,$this->items["d_id][$j]"]);
            $c_d_id=$this->search_id();
            $this->update($this->items["d_id][$i]"],$this->items["f_node][$i]"],$c_d_id,$this->items["r_node][$i]"]);
            $this->update($this->items["d_id][$j]"],$c_d_id,$this->items["l_node][$j]"],$this->items["r_node][$j]"]);
        }
        if(($this->items["l_node][$i]"]==0))
        {    
            $this->insertnode($this->items["d_id][$i]"],$node_value,0);
            $this->update($this->items["d_id][$i]"],$this->items["f_node][$i]"],$this->search_id($this->items["d_id][$i]"]),$this->items["r_node][$i]"]);
            
        }
        
        
    }

    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<=$mnums;$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");
        }

}
?>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 写不下了-PHP教程,PHP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章