php实现无限级分类

如果自己写一个系统,经常会用到栏目管理

栏目分类多等级多就需要实现无限级分类了,代码如下

一、下拉菜单中的使用

/*  无限级分类
 *
 *	逻辑递推获取类型
 *	hid 上级栏目id
 *	step 下级栏目前缀
 *	tid seleted选项id
 */
 
function LogicGetTypeList($datatable='lanmu_class',$hid=0,$step='',$tid=-1)
{
	
	static $TypeList='';
	$query = "SELECT * FROM `$datatable` WHERE heid=$hid ORDER BY px ASC";
	$arrs=mysql_query($query);
	while($row=@mysql_fetch_assoc($arrs)){
		echo $step;
		$TypeList .= ("<option value='".$row['id']."' ");
		$TypeList .= ($tid == $row['id']? 'selected' : '');
		$TypeList .= (" >".$step.$row['class']."</option>\r\n");  //分类名称
		LogicGetTypeList($datatable,$row['id'],$step.'--',$tid);
	}
	return $TypeList;
}


二、栏目管理

代码大概如下,需要根据具体情况进行修改

<?php
treeList("",0);
function treeList($tag,$classid){
$result=mysql_query("select * from lanmu_class where heid='".$classid."' order by px asc");
while($row=mysql_fetch_array($result)){

/*栏目功能*/
$sqlG=@mysql_fetch_assoc(mysql_query("select * from ht_gn where id='".$row['gongn']."'"));
?>
<tr class="blue" οnmοuseοver="c=this.style.backgroundColor;this.style.backgroundColor='#daebf8'" οnmοuseοut="this.style.backgroundColor=c" οnclick="ClickEvent('')">
  <td width="5" align="center" class=""><input type="checkbox" name="dell[]" value="<?php echo $row['id']?>"></td>
<td class=""><?php echo $tag.$row['class'];?></td>
<td class=""><?php echo $sqlG['gn_title'];?></td>
<td align="center" class=""><?php echo $row['template'];?> </td>
<td align="center" class=""><input type="text" value="<?php echo $row["px"]?>" size="3" οnblur="modify(<?php echo $row['id'];?>,this.value)" /> </td>    
<td class="">
【<a href="lanmu_add.php?id=<?php echo $row['id'];?>">编辑</a>】  【<a href="#" οnclick="if(confirm('您确定要删除吗?')){location.href='lanmu_exe.php?del=<?php echo $row['id']?>'}">删除</a>】
  【<a href="../car/car_pic.php?s_id=<?php echo $row['id'];?>">图片集</a>】
</td> 
</tr>
<?php treeList($tag."─┴─",$row['id']);?>
<?php
	}
}
 ?>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值