PHP 实现无限极栏目分类

首先,创建一个DB

CREATE TABLE IF NOT EXISTS `class` ( 
  `id` mediumint(6) NOT NULL AUTO_INCREMENT, 
  `title` varchar(30) NOT NULL, 
  `pid` mediumint(6) NOT NULL DEFAULT ‘0‘, 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8

 

然后插入数据

INSERT INTO `class` VALUES (1, ‘品牌女装‘, 0);
INSERT INTO `class` VALUES (2, ‘精品男装‘, 0);
INSERT INTO `class` VALUES (3, ‘连衣裙‘, 1);
INSERT INTO `class` VALUES (4, ‘旗袍‘, 1);
INSERT INTO `class` VALUES (5, ‘燕尾服‘, 2);

 数据的结构能够自己去设计

这里采用递归的方法去实现无限极栏目分类

<?php 

$con = mysql_connect("localhost","root","123456");

mysql_query("set names ‘utf8‘");
mysql_select_db("test");

function get_str($id = 0) { 
    global $str; 
    $sql = "select id,title from class where pid= $id";  
    $result = mysql_query($sql);
    if($result && mysql_affected_rows()){
        $str .= ‘<ul>‘; 
        while ($row = mysql_fetch_array($result)) { 
            $str .= "<li>" . $row[‘id‘] . "--" . $row[‘title‘] . "</li>"; 
            get_str($row[‘id‘]); 
        } 
        $str .= ‘</ul>‘; 
    } 
    return $str; 
} 

echo get_str(0); 


?>

 返回一个数组

<?php 

$con = mysql_connect("localhost","root","123456");

mysql_query("set names ‘utf8‘");
mysql_select_db("test");

function get_array($id=0){ 
    $sql = "select id,title from class where pid= $id"; 
    $result = mysql_query($sql);
    $arr = array(); 
    if($result && mysql_affected_rows()){ 
        while($rows=mysql_fetch_assoc($result)){ 
            $rows[‘list‘] = get_array($rows[‘id‘]); 
            $arr[] = $rows; 
        } 
        return $arr; 
    } 
}
$list = get_array(0); 
var_dump($list);?>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。