无限分类~~就这么简单!

本文介绍了一种基于PHP的无限分类实现方案,通过递归查询数据库来构建多级分类结构。使用fid字段建立层级关系,适用于论坛、商品分类等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只有不足100行代码,不要提为什么没有OO了。。。

//无限分类,主要思想是这样的,用fid 来记录该类的上一级ID,通过fid和id建立起上下级的关系。

<?php
$conn = mysql_connect("localhost","root","root")  or die("数据库连接失入");
  
mysql_select_db("new",$conn);
?>
分类
:<select name="fid">
<?php
function mainfl()
{
    
global $conn;
  
$result=mysql_query("select id,fid,name from a where fid=0 order by id ",$conn);//这里默认的fid=0,表示这是第一级。通过这个可以查出所有fid=0的项,即所有的第一级主类
  if ($myrow=mysql_fetch_array($result))
  {
   
do {
?>
    
<option value=<?php echo $myrow["id"];?>><?php echo $myrow["name"];?></option>//$myrow["id"]输出主类的ID为查询子类做准备,$myrwo["name"]主类名字
<?php echo subfl($myrow["id"],"--");?>//调用子类函数subfl,使用--連接
<?php
   }
   
while ($myrow=mysql_fetch_array($result));
  }
}
//定义子级分类
function subfl($fid,$tag)//$fid那是主类ID,$tag为连接符
{
 
global $conn;
 
$result1=mysql_query("select id,fid,name from a where fid=$fid  order by id",$conn);//查询出fid=$fid的所有面,这里的$fid值为$myrow["id"]
 if ($myrow1=mysql_fetch_array($result1))
 {
  
do {
?>
  
<option value=<?php echo $myrow1["id"];?>><?php echo $tag.$myrow1["name"];?></option>//输出子类
<?php
    subfl(
$myrow1["id"],"-".$tag);
   }
  
while ($myrow1=mysql_fetch_array($result1));
 }
}
echo mainfl();
?>
</select>

//下面有一个完整的无限分类的添加,删除,修改。
//数据库结构相当简单
//ID 自动增加
//name 记录名称
//fid 记录上级ID,默认为0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值