//写一个吧,测下试试function SelectAllClassID($ParentID)
{
$str='';
$Sql = "select * from Mac_Class where ParentID = '$ParentID' ";
$Result = mysql_query($Sql); if(mysql_num_rows($Result)>0)
{
while($Row = mysql_fetch_array($Result))
{
$str=$str.$Row['ID'];
if(!empty($Row[ParentID])){ SelectAllClassID($Row[ParentID]);
}
}
}
return $str;
}
解决方案 »
- 关于PHP采集一个页面某一个数字的问题,请高手帮忙写个正则
- 准备学习PHP,哪位高手给我点意见
- 图片路径问题
- 一时老壳转不过湾了 替换问题
- 用preg_match,截取网址,传递参数不成功,请问下药如何修改?
- $file=openu($url); $abc = cut($file, 后面怎么写啊,我写切html
- 不知道这算不算是PHP5的BUG,代码绝对正确,就是插不进去数据,大家近来瞧瞧 散分!!
- 怎样用PHP来Check输入的日期?? 急等!!
- 如何在php下生成word文件,php+服务器装在linux下没有word,希望在客户端生成文件.
- 一个ASP的问题拿来PHP问.......email_list的.
- 分割时怎么排除特殊情况
- PHP5下,如何才能实现跳转后,在URL上添加参数?
{
$str='';
$Sql = "select * from Mac_Class where ParentID = '$ParentID' ";
$Result = mysql_query($Sql); if(mysql_num_rows($Result)>0)
{
while($Row = mysql_fetch_array($Result))
{
$str=$str.'|'.$Row['ID'];
if(!empty($Row['ParentID'])){ SelectAllClassID($Row['ParentID']);
}
}
}
return $str;
}
测试了不行啊。SelectAllClassID(1)则结果为 |1应该是第一行 $str = ""; 被重新调用了,所以每次为空。
function SelectAllClassID($ParentID)
{
$str='';
$Sql = "select * from Mac_Class where ParentID = '$ParentID' ";
$Result = mysql_query($Sql); if(mysql_num_rows($Result)>0)
{
while($Row = mysql_fetch_array($Result))
{
$str.='|'.$Row['ID'];
if(!empty($Row['ParentID'])){ $str.='|'.SelectAllClassID($Row['ParentID']);
}
}
}
return $str;
}
function SelectAllClassID($ParentID)
{
$str='';
$Sql = "select * from Mac_Class where ParentID = '$ParentID' ";
$Result = mysql_query($Sql); if(mysql_num_rows($Result)>0)
{
while($Row = mysql_fetch_array($Result))
{
$str.='|'.$Row['ID'];
if(!empty($Row['ParentID'])){ $str.=SelectAllClassID($Row['ParentID']);
}
}
}
return $str;
}
要连成字符,或数组,麻烦一些!上面的没测试!不对的话等高手了!
你用下面的这个试下,没测试过.
function SelectAllClassID($ParentID,$AllClassID)
{
$AllClassID = $AllClassID;
$Sql = "select * from Mac_Class where ParentID in( '$ParentID') ";
$Result = mysql_query($Sql); if($Num = mysql_num_rows($Result))
{
$i=1;
$ClassID = '';
$WhereId = '';
while($Row = mysql_fetch_array($Result))
{
$i++;
$WhereId = $Row['ID']; $ClassID = ($ClassID?$ClassID.',':'').$Row['ID']; //($ClassID?$ClassID.',':'') 判断 第一次的时候 不加逗号(这样可以在
sql语句中 where ParentID in (2,3) 语法不出现错误
).$AllClassID = ($AllClassID?',':'').$WhereId; //2,3
if($i==$Num+1){
SelectAllClassID($ClassID, $AllClassID);
)
}
}
return $AllClassID;
}
明天测试下...
1=>array('name'=>'植物','id'=>2,'pid'=>0),
3=>array('name'=>'水果','id'=>3,'pid'=>1),
4=>array('name'=>'树','id'=>4,'pid'=>2),
5=>array('name'=>'苹果','id'=>5,'pid'=>3),
6=>array('name'=>'松树','id'=>6,'pid'=>4),
7=>array('name'=>'饮料','id'=>7,'pid'=>1),
8=>array('name'=>'红苹果','id'=>8,'pid'=>5)
);
function tree($tree,$pid,&$res=""){
foreach ($tree as $key=>$items){
if($items['pid']==$pid){
$newid=$items['id'];
$res.=$newid.",";
tree($tree,$newid,$res);
}
}
return $res;
}
echo tree($ar,0);
1=>array('name'=>'植物','id'=>2,'pid'=>0),
3=>array('name'=>'水果','id'=>3,'pid'=>1),
4=>array('name'=>'树','id'=>4,'pid'=>2),
5=>array('name'=>'苹果','id'=>5,'pid'=>3),
6=>array('name'=>'松树','id'=>6,'pid'=>4),
7=>array('name'=>'饮料','id'=>7,'pid'=>1),
8=>array('name'=>'红苹果','id'=>8,'pid'=>5)
);
function tree($tree,$pid,&$res=""){
foreach ($tree as $key=>$items){
if($items['pid']==$pid){
$newid=$items['id'];
$res.=$newid.",";
tree($tree,$newid,$res);
}
}
return $res;
}
echo tree($ar,0);