仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 996|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之写不下了

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚开始写页面程序,调试完书中的例子。然后就可以尝试编写留言板了,   ==================================================
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 it's 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 node's left child node
            $j=$this->find($this->items["f_node][$m]"]);//current node's 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 it's parent's 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 it's parent's 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 it's parent's 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 it's parent's 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 node's parent
                if($this->items["r_node][$j]"]==$this->items["d_id][$m]"])//if it's parent's right child node
                {
                    $i=$this->find($this->items["r_node][$m]"]);//current node's 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 it's parent's 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 node's 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");
        }

}
?>
  学习了六个多月PHP了,还是个新手,在这里受到了很多人的帮助,谢谢你们!
飘飘悠悠 该用户已被删除
沙发
发表于 2015-2-4 10:30:30 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
再现理想 该用户已被删除
板凳
发表于 2015-2-6 00:02:15 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-9 22:18:29 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
老尸 该用户已被删除
5#
发表于 2015-2-26 21:11:39 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
飘灵儿 该用户已被删除
6#
发表于 2015-2-28 19:39:19 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
小女巫 该用户已被删除
7#
发表于 2015-3-2 02:08:18 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
柔情似水 该用户已被删除
8#
发表于 2015-3-4 14:41:40 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
莫相离 该用户已被删除
9#
发表于 2015-3-10 16:08:49 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
精灵巫婆 该用户已被删除
10#
发表于 2015-3-11 20:58:45 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
小魔女 该用户已被删除
11#
发表于 2015-3-16 02:31:36 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
海妖 该用户已被删除
12#
发表于 2015-3-17 09:31:09 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
蒙在股里 该用户已被删除
13#
发表于 2015-3-21 01:52:15 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
分手快乐 该用户已被删除
14#
发表于 2015-3-24 00:18:00 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
爱飞 该用户已被删除
15#
发表于 2015-4-7 11:46:56 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
冷月葬花魂 该用户已被删除
16#
发表于 2015-4-8 15:52:06 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
深爱那片海 该用户已被删除
17#
发表于 2015-4-24 08:32:26 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
不帅 该用户已被删除
18#
发表于 2015-4-28 09:44:28 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
谁可相欹 该用户已被删除
19#
发表于 2015-4-30 10:49:06 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
小妖女 该用户已被删除
20#
发表于 2015-5-3 01:44:29 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-5 05:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表