第一次写函数,结果找不出错误在什么地方 echo $name[$i];应该用return $name[$i]返回一个值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把 @mysql_free_result($result);"@"这个符号去掉看看有什么结果?这个符号屏蔽错误信息 <?phpfunction daohang($id,$db_pro,$class,$table) { $id="id='$id'"; $upid="upid='$upid[$i+1]'"; for ($i=$class;$i>=1;$i--) { if ($i==$class) { $tid=$id; } else { $tid=$upid; } $query="select id,name,class,upid from ".$db_pro.$table." where ".$tid." and class='".$class."'"; $result=mysql_query($query); $row=@mysql_fetch_array($result); $id[$i]=$row['id']; $name[$i]=$row['name']; $class[$i]=$row['class']; $upid[$i]=$row['upid']; } @mysql_free_result($result); $abc=""; for ($i=1;$i<=$class;$i++) { $abc .= $name[$i]; //echo $name[$i]; }return $abc; }?> 表menuclass的class字段的类型? 表menuclass的class字段的类型?这个是 数字类型 不过 好象 与那个 字段的 ‘’无关样 现在就是 好象是个死循环 输出的同最后一个字段的重复 谢谢楼上各位其实问题的关键在$upid="upid='$upid[$i+1]'";把这个$i+1 先赋给一个变量就可以了不过还有个新问题 无论是用我的 那个echo $name[$i];还是用 wen8u8 的那种方式 输出的都是最后得到的那条记录的重复!不知道是怎么回事!! 修改后的函数代码如下:function daohang($id,$db_pro,$class,$table) { $id="id='$id'"; for ($i=$class;$i>=1;$i--) { if ($i==$class) { $tid=$id; } else { $m=$i+1; $upid="upid='$upid[$m]'"; $tid=$upid; } $query="select id,name,class,upid from ".$db_pro.$table." where ".$tid." and class='".$class."'"; $result=mysql_query($query); $row=@mysql_fetch_array($result); $id[$i]=$row['id']; $name[$i]=$row['name']; $class[$i]=$row['class']; $upid[$i]=$row['upid']; } @mysql_free_result($result); $abc=""; for ($i=1;$i<=$class;$i++) { $abc .= $name[$i]." > "; //echo $class; } return $abc; } caotian2000(谢谢支持,努力冲星) ( ) 信誉:100 Blog echo $name[$i];应该用return $name[$i]返回一个值---------------------------------------------------------------------------------因为你的SQL语句的问题 在这个函数中 用 return 和 echo $name[$i];得到的结果是一样的!!! $upid="upid='$upid[$m]'";这句很奇怪,你前面循环赋的值,到这句就被冲掉了下一次的upid的值应该就不对了 $upid="upid='$upid[$m]'"; $tid=$upid;这两句直接写成 $tid="upid='{$upid[$m]}'"; 问题解决了不过 这个函数最多支持四级 分类超过四级 得到的那个 $id[$i] 就是一个错误的了不晓得怎么回事要是能支持五级该多好哈 php如何实现,抓取页面漂浮图片,并做点击的动作?求高手~ 关于PHP取COOKIE的问题,请求帮助! 这样的SQL语句谁会写?? phpmyadmin一片空白, 怎么回事, 这个真的晕了 php做网页登陆页面,传递数据,变量无效,求解 php adodb mssql 存储过程问题 用php实现MVC,大家看看我的想法对不对 有关phpMyadin的问题,在哪设置,可以显示登录认证页面来??? 如何在某个变量为空时脚本语句生效? 哪为仁兄帮给忙,问一下怎么做检测是否在线? 这段正则的描述的话是不是有问题?作者要表达的正确意思是什么? 大家帮我看看下面的错误提示,谢谢.
"@"这个符号去掉看看有什么结果?这个符号屏蔽错误信息
function daohang($id,$db_pro,$class,$table)
{
$id="id='$id'";
$upid="upid='$upid[$i+1]'";
for ($i=$class;$i>=1;$i--)
{
if ($i==$class)
{
$tid=$id;
}
else
{
$tid=$upid;
}
$query="select id,name,class,upid from ".$db_pro.$table." where ".$tid." and class='".$class."'";
$result=mysql_query($query);
$row=@mysql_fetch_array($result);
$id[$i]=$row['id'];
$name[$i]=$row['name'];
$class[$i]=$row['class'];
$upid[$i]=$row['upid'];
}
@mysql_free_result($result);
$abc="";
for ($i=1;$i<=$class;$i++)
{
$abc .= $name[$i];
//echo $name[$i];
}
return $abc;
}
?>
这个是 数字类型 不过 好象 与那个 字段的 ‘’无关样 现在就是 好象是个死循环 输出的同最后一个字段的重复
{
$id="id='$id'";
for ($i=$class;$i>=1;$i--)
{
if ($i==$class)
{
$tid=$id;
}
else
{
$m=$i+1;
$upid="upid='$upid[$m]'";
$tid=$upid;
}
$query="select id,name,class,upid from ".$db_pro.$table." where ".$tid." and class='".$class."'";
$result=mysql_query($query);
$row=@mysql_fetch_array($result);
$id[$i]=$row['id'];
$name[$i]=$row['name'];
$class[$i]=$row['class'];
$upid[$i]=$row['upid'];
}
@mysql_free_result($result);
$abc="";
for ($i=1;$i<=$class;$i++)
{
$abc .= $name[$i]." > ";
//echo $class;
}
return $abc;
}
这句很奇怪,你前面循环赋的值,到这句就被冲掉了
下一次的upid的值应该就不对了
$tid=$upid;这两句直接写成
$tid="upid='{$upid[$m]}'";