找回密码
 立即注册
即日起,论坛关闭新用户注册和登录,论坛相关的贴子保留查阅和下载。获得授权后,有技术问题可联系微信 13199509559 一对一解决。 2024-3-12
查看: 6600|回复: 1

[经验分享] 产品以及其他模块列表页可实现点击显示所有子类

3

主题

3

主题

3

主题

注册会员

Rank: 2

积分
89
meiyidian 发表于 2017-10-27 22:12:07 | 显示全部楼层 |阅读模式
提交问题
提示:: -
运行环境: 本地测试
运行服务器: win
PHP版本: php5.4
OurPHP版本: 1.75
编辑器: -
程序存放目录: 子目录(二级目录)
第一次这样考虑的。
可以修改block.list.php文件,第36行左右,
  • $query = $db -> listgo("`id`","`ourphp_column`","where `OP_Uid` = ".intval($id));
  •         $uid = array();
  •         while($ourphp_rs = $db -> whilego($query)){
  •                 $uid[] .= $ourphp_rs[0];
  •                 $query2 = $db -> listgo("`id`","`ourphp_column`","where `OP_Uid` = ".$ourphp_rs[0]);
  •                 while($ourphp_rs2 = $db -> whilego($query2)){
  •                         $uid[] .= $ourphp_rs2[0];
  •                 }
  •         }

[color=#333333 !important]复制代码


就是又循环了一遍,把下级id,添加到数组uid里,如果还不满足可以接着往下循环下去。这是个笨办法,水平有限,只能这样写了,有会无限循环的可以发上代码来共同研究下。


第二次这样考虑的。由于回复的别人的帖子,直接粘过来用了。
研究了下,给个无限循环的例子,改了二个文件,把each_subsort()放到了ourphp_list.class.php
  • //无限循环获得子类id
  • function each_subsort($id){
  •     global $db,$ourphp,$Parameterse,$uid;
  •         $query = $db -> listgo("`id`","`ourphp_column`","where `OP_Uid` = ".intval($id));
  •         while($ourphp_rs = $db -> whilego($query)){
  •                 $uid[] .= $ourphp_rs[0];
  •                 each_subsort($ourphp_rs[0]);
  •         }
  •         //$uid = implode(',',$uid);
  •         return $uid;
  • }

[color=rgb(51, 51, 51) !important]复制代码


global $db,$ourphp,$Parameterse,$uid; 这句我真不知道为什么,看到上边这样调用的,就这样弄了。$uid这个必须这里声明下,否则不循环了。

下一步就是进入block.list.php文件,第36行左右。不懂可以看第一次的就是那些代码。
把那里都删了改成如下就行。
  • $uid=each_subsort(intval($id));
  •         $uid = implode(',',$uid);

[color=rgb(51, 51, 51) !important]复制代码


至此无限循环的就实现了。可能不是最好的代码,欢迎批评改正。

208

主题

208

主题

208

主题

管理员

Rank: 9Rank: 9Rank: 9

积分
0
admin 发表于 2017-10-27 22:33:22 | 显示全部楼层

global是全局变量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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