数据库:grade
分类表:sort
---------------------------------------------------------------------------------------------------------
读取分类 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 = " ";
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>
分类表:sort
---------------------------------------------------------------------------------------------------------
s_id | parent_id | parent_arr_id | son_arr_id | son_id | s_name |
1 | 0 | 0 | all | all | 根类1 |
2 | 0 | 0 | all | all | 根类2 |
3 | 1 | 1 | 5,6,7 | 7 | 1级大类 |
4 | 1 | 1 | 8,9,10 | 10 | 2级大类 |
5 | 1 | 1,3 | 11,12,13 | 13 | 1级大类->第1子类 |
6 | 1 | 1,3 | 14,15,16 | 16 | 1级大类->第2子类 |
7 | 1 | 1,3 | 17,18,19 | 19 | 1级大类->第3子类 |
8 | 1 | 1,4 | 20,21,22 | 22 | 2级大类->第1子类 |
9 | 1 | 1,4 | 23,24,25 | 25 | 2级大类->第2子类 |
10 | 1 | 1,4 | 26,27,28 | 28 | 2级大类->第3子类 |
11 | 1 | 1,3,5 | 0 | 0 | 1级大类->第1子类->第1子子类 |
12 | 1 | 1,3,5 | 0 | 0 | 1级大类->第1子类->第2子子类 |
13 | 1 | 1,3,5 | 0 | 0 | 1级大类->第1子类->第3子子类 |
100 | 1 | 1,4,8 | 0 | 0 | 2级大类->第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 = " ";
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>