关于无限级分类的问题

jom_ch 2007-08-30 03:11:55
我用递归读取无限级新闻分类,
运行后页面显示却"该页无法显示",
请问是怎么回事?谢谢!
代码如下:
<?php

DEFINE('ROOT_PATH','../');
require(ROOT_PATH.'inc/_config.sys.inc.php');
require(ROOT_PATH.'inc/_const.sys.inc.php');
require_once(_INC.'_class.db.inc.php');

$db = new db($cfg);
$action = @$_GET['action'];
$sTmp = '';

function showNewsCat($arrCat,$id,$pid)
{
global $sTmp;
if($pid==0)
{
$sTmp = 'ROOT..<br>';
}
if(!empty($arrCat))
{
for($i=0;$i<sizeof($arrCat);$i++)
{
if($arrCat[$i][pid] = $id)
{
$sTmp .= $arrCat[$i][title].'<br>';
showNewsCat($arrCat,$arrCat[$i][id],$arrCat[$i][pid]);
}
}
}
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<?php
if($action=='' || $action = 'listcate')
{
$sqlCateList = "select * from tab_news_cate";
$arrCateList = $db -> row_query($sqlCateList);
showNewsCat($arrCateList,1,0);
echo $sTmp;
}
?>
</BODY>
</HTML>
...全文
234 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liandliu 2007-08-30
  • 打赏
  • 举报
回复
接分
wwx840723 2007-08-30
  • 打赏
  • 举报
回复
接分
fange008 2007-08-30
  • 打赏
  • 举报
回复
接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分接点分
tantaiyizu 2007-08-30
  • 打赏
  • 举报
回复
呵呵 , 不客气

往往都是一些细节问题

换个好的编译器
jom_ch 2007-08-30
  • 打赏
  • 举报
回复
这个错误太低级了,掉了一个等号,谢谢楼上,楼下的顶者有分,下面是正确代码:
<?php

DEFINE('ROOT_PATH','../');
require(ROOT_PATH.'inc/_config.sys.inc.php');
require(ROOT_PATH.'inc/_const.sys.inc.php');
require_once(_INC.'_class.db.inc.php');

$db = new db($cfg);
$action = @$_GET['action'];
$sTmp = '';

function showNewsCat($arrCat,$id,$pid)
{
global $sTmp;
if($pid==0)
{
$sTmp = 'ROOT..<br>';
}
if(!empty($arrCat))
{
for($i=0;$i<sizeof($arrCat);$i++)
{
if($arrCat[$i][pid] == $id)
{
$sTmp .= $arrCat[$i][title].'<br>';
showNewsCat($arrCat,$arrCat[$i][id],$arrCat[$i][pid]);
}
}
}
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<?php
if($action=='' || $action == 'listcate')
{
$sqlCateList = "select * from tab_news_cate";
$arrCateList = $db -> row_query($sqlCateList);
showNewsCat($arrCateList,1,0);
echo $sTmp;
}
?>
</BODY>
</HTML>
jom_ch 2007-08-30
  • 打赏
  • 举报
回复
to:tantaiyizu(痴情客)

你从哪里看出来它是死循环????
tantaiyizu 2007-08-30
  • 打赏
  • 举报
回复
showNewsCat 函数

--------

很明显 ,死循环
jom_ch 2007-08-30
  • 打赏
  • 举报
回复
to:tantaiyizu(痴情客)

我在代码中间加了个中断
if($arrCat[$i][pid] = $id)
{
$sTmp .= $arrCat[$i][title].'<br>';
echo $sTmp;
exit;
showNewsCat($arrCat,$arrCat[$i][id],$arrCat[$i][pid]);
}

是可以正常输出的.
tantaiyizu 2007-08-30
  • 打赏
  • 举报
回复

就这个?

这和程序没有关系吧

检查路径以及环境配置
jom_ch 2007-08-30
  • 打赏
  • 举报
回复
to:tantaiyizu(痴情客)

Internet Explorer 无法显示该网页
最可能的原因是:
未连接到 Internet。
该网站遇到了问题。
在地址中可能存在键入错误。

您可以尝试以下操作:
检查您的 Internet 连接。尝试访问其他网站以确定您已连接到 Internet。

重新键入地址。

返回到上一页。

更多信息

tantaiyizu 2007-08-30
  • 打赏
  • 举报
回复
把错误给弄出来

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧