仓酷云

标题: PHP网页编程之树型服装论坛递归减速 [打印本页]

作者: 飘灵儿    时间: 2015-2-16 00:28
标题: PHP网页编程之树型服装论坛递归减速
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?递归   树型服装论坛递归减速
普通的服装论坛都递归全部表
假如仅递归result,那末速度会加速很多,何况会见result是会见办事器内存.
咱们普通经由过程上面的语句使游标挪动
while($row=mysql_fetch_array($res))
其道理是当mysql_fetch_array($res)每履行一次则游标主动下移,直到停止为止
然而递归result时,咱们只要一个result,当游标不准时,咱们没法晓得以后游标志录是不是合适咱们的请求
php供应了一个函数让用户本人指定游标地位
bool mysql_data_seek ( resource result_identifier, int row_number)
这个函数人人应当能看懂吧
上面我来说讲我的思绪.
为完成服装论坛分页,表布局设计以下:
表名:newestbbs(最新帖子 以最初答复工夫排序)
布局:
id 只纪录根帖的id
time 假如没有回帖,则为根帖提交工夫,不然为最初回帖提交工夫
表名:bbs
布局:
    id 帖子自己的id
    fathered 父帖id
    rootid    根帖id
    time      发帖工夫
    ……….其它field
思绪:
先由newestbbs失掉最新帖列表(好比每页列表20条根帖 select id from newestbbs order by time limit 页数-1,20)
失掉result后从全部bbs内外失掉并显示一切result的根帖
    while(bbs=mysql_fetch_array($result))
    {
      select * from bbs where rootid=bbs[‘id’] order by time //(由此失掉第二个result,定名为res)
      $root=mysql_fetch_array(res)
      显示根帖
      dispreplybbs($root[‘id’],$res) //递归显示此帖一切回帖
    }
递归函数以下:
   function dispreplybbs($id,$mysqlres)
   {
     for($i=0;$i<mysql_num_rows($mysqlres);$i++)
     {
       mysql_data_seek($mysqlres,$i) //将游标挪动到指定地位
       bbsreply=mysql_fetch_array($mysqlres) //失掉此游标地位帖子的内容
       if(bbsreply[‘fatherid’]==$id)
       {
         //判别此帖的父帖id是不是为给定的id
         //假如是则缩回显示
         dispreplybbs($bbsreply[‘id’],$mysqlres)//而且再递归搜刮其有无子帖
         //假如不是则判别下一条
       }
     }       //轮回一切result
   }

   
若有贰言,请回帖或mailto: chensiping@163.net.本文无版权回护,接待随便修正转载

  用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。
作者: admin    时间: 2015-2-20 12:40
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 蒙在股里    时间: 2015-2-21 23:28
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 冷月葬花魂    时间: 2015-3-6 22:11
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 山那边是海    时间: 2015-3-7 07:36
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 灵魂腐蚀    时间: 2015-3-17 11:07
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 愤怒的大鸟    时间: 2015-3-24 07:54
实践是检验自己会不会的真理。
作者: 小妖女    时间: 2015-3-30 02:47
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 老尸    时间: 2015-3-30 20:49
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 深爱那片海    时间: 2015-4-3 21:50
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 分手快乐    时间: 2015-4-12 17:42
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 柔情似水    时间: 2015-4-14 08:25
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 活着的死人    时间: 2015-4-18 05:44
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 飘飘悠悠    时间: 2015-4-26 05:10
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 乐观    时间: 2015-5-3 02:56
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 小女巫    时间: 2015-5-6 02:08
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 第二个灵魂    时间: 2015-6-13 22:17
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 再见西城    时间: 2015-6-23 21:24
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 飘灵儿    时间: 2015-6-23 21:29
写的比较杂,因为我也是个新手,不当至于大家多多指正。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2