Home  >  Article  >  Backend Development  >  PHP MySQL implements infinite classification|tree display classification relationship_PHP tutorial

PHP MySQL implements infinite classification|tree display classification relationship_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:05:44826browse

Unlimited classification is mainly achieved by storing the id and classification path of the upper-level classification. Since the structure of the data is simple, I want to display the classification relationship in a tree shape. I can only think of using recursion to implement it. The following is the classification data table structure and a tree display function written by myself. What is wrong? I hope everyone can point it out.

Table structure: The id field is the category identifier, the name field is the category name, the father_id field is the id of the parent category to which it belongs, the path field is the category path (storing the collection of ancestors of the category), isdir determines whether it is a directory ( 1 means yes, 0 means no).

Display function:

//$count is the classification level
sort_list($str,$fatherid,$count)
{
$rs = $this-> ;sql->re_datas("select * from sort where father_id = fatherid");
$num = $this->sql->sql_numrows();
$i=0;
$ n = 1;
while(isset($rs[$i]))
{
$name = "";
for($n = 1 ; $n < $count ; $ n )
{
$name.="│ ";
}
if($i 1==$num)
{
$name.="└─". $rs[$i][name];
}
else
{
$name.="├─".$rs[$i][name];
}
if($rs[$i][isdir])
{
$str.="".$name."" ;
}
else
{
$str.=$name";
}
$temp = $count 1;
$str = $this->sort_list ($str,$rs[$i][id],$temp);
$i ;
}
return $str;
}


 where $ this->sql object is a sql operation class object. The re_datas() function returns the queried array, and the sql_numrows() function returns the queried number

Calling method: $sort_list = sort_list($sort_list,0, 1);


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445097.htmlTechArticleUnlimited classification is mainly achieved by storing the id and classification path of the upper-level classification. Since the structure of the data is simple, to display the classification relationship in a tree shape, I can only think of using...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn