仓酷云

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

[学习教程] PHP网页编程之树型服装论坛递归减速

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:28:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

本版积分规则

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

GMT+8, 2024-12-22 18:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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