无限分类原理

<?php

  mysql_connect("localhost","root","root");
  mysql_select_db("test");
  mysql_query("set names gb2312");
  function select($fid,$kong){
    $query=mysql_query("select * from class where class_id_father='$fid' order by class_id asc");//------------------------------------ 查询$fid的儿子分类
    while($arr=mysql_fetch_array($query)){
      echo "<option value=\"".$arr[class_id]."\">";
      for($i=0;$i<$kong;$i++){//------------------------------------根据$kong输出选项前面的空格.$kong控制子父分类的缩进
        echo "&nbsp;&nbsp;";
      }
      $he=$kong;
      $kong++;
      echo "┗".$arr[class_name];
      echo "</option>";
      select($arr[class_id],$kong);//------------------------------------递归查询此类的儿子分类
      $kong=$he;//------------------------------------同级的儿子分类查询完后做这句,将$kong还原到此同级分类前使用的值
    }
  }
  if($_POST['add']!=""){
    if(mysql_query("insert into class (class_name,class_id_father) values ('$_POST[class_name]','$_POST[class_id]')"))
      echo "<script>alert('恭喜,分类添加成功!!');window.location.href='./wxfl.php';</script>";
  }
?>
<form name="form_class" action="" method="post">
  添加分类&nbsp;&nbsp;
  <select name="class_id" style="width:200px;">
    <option vlaue="0" selected="selected">顶层分类</option>
    <?php select(0,0); ?>
  </select>
  &nbsp;&nbsp;
    <input type="text" name="class_name" />
    &nbsp;&nbsp;
    <input type="submit" name="add" value="添加分类">
</form>
<?php
  function all($fid,$kong){//------------------------------------------------------------以下为输出列表,和上面的有一点不同,但原理都一样
    $query=mysql_query("select * from class where class_id_father='$fid' order by class_id asc");
    while($arr=mysql_fetch_array($query)){
      for($i=0;$i<$kong;$i++){
        echo "&nbsp;&nbsp;";
      }
      $he=$kong;
      $kong++;
      echo "┗".$arr[class_name]."&nbsp;&nbsp;<a href='?id=".$arr[class_id]."'>修改</a>&nbsp;&nbsp;<a href='?id=".$arr[class_id]."'>删除</a><hr>";
      all($arr[class_id],$kong);
      $kong=$he;
    }
  }
  all(0,0);
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值