无限级分类数据结构和读取分类的php代码

本文介绍了一种通过递归查询数据库来实现无限极分类的方法。该方法使用PHP语言,通过MySQL数据库查询,能够构建出多级分类结构。适用于电商、论坛等需要多层次分类的应用场景。

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

数据库:grade
分类表:sort
---------------------------------------------------------------------------------------------------------
s_idparent_idparent_arr_idson_arr_idson_ids_name
100allall根类1
200allall根类2
3115,6,771级大类
4118,9,10102级大类
511,311,12,13131级大类->第1子类
611,314,15,16161级大类->第2子类
711,317,18,19191级大类->第3子类
811,420,21,22222级大类->第1子类
911,423,24,25252级大类->第2子类
1011,426,27,28282级大类->第3子类
1111,3,5001级大类->第1子类->第1子子类
1211,3,5001级大类->第1子类->第2子子类
1311,3,5001级大类->第1子类->第3子子类
10011,4,8002级大类->第1子类->第1子子类




读取分类 index.php
---------------------------------------------------------------------------------------------------------
<?
$conn = mysql_connect('localhost', 'root', '123456');
mysql_select_db("grade",$conn);
mysql_query("set names gb2312");
//echo "1";exit();
//递归函数recursion
function recursion($aa,$bb,$i){
    $sql = "SELECT * FROM `sort` WHERE `parent_id`='$aa' AND `parent_arr_id` LIKE '%".$bb."' ORDER BY `s_id` ASC";
//echo "/$SQL = ".$sql."<br />";
    $rs = mysql_query($sql);
    $kkk = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    while ($arr = mysql_fetch_array($rs)){
        $arr_p = explode(",",$arr["parent_arr_id"]);
        if(count($arr_p)==1)    echo $kkk.$arr["s_name"]."<br />";
        if(count($arr_p)==2)    echo $kkk.$kkk.$arr["s_name"]."<br />";
        if(count($arr_p)==3)    echo $kkk.$kkk.$kkk.$kkk.$arr["s_name"]."<br />";
        recursion($arr["parent_id"],$arr["s_id"],$i);
    }
}
//---------------------------------------------------------------------------------

$sql1 = "SELECT * FROM `sort` WHERE `parent_id`='0' ORDER BY `s_id` ASC";
$rs1 = mysql_query($sql1);
while ($arr1 = mysql_fetch_array($rs1)){
   
    $xx=$arr1["s_id"];
    echo $arr1["s_name"]."<br />";//输出根类
    recursion($xx,$xx);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无限分类</title>
</head>

<body>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值