溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

遞歸無限分類筆記

發(fā)布時(shí)間:2020-07-27 15:18:57 來源:網(wǎng)絡(luò) 閱讀:419 作者:kangjunfei 欄目:系統(tǒng)運(yùn)維

最近項(xiàng)目都上線了每天鞏固一下php知識(shí),下面是關(guān)于遞歸無限分類的比較供大家參考!

數(shù)據(jù)庫一個(gè)表就可以了,增加一個(gè)parendid字段 也就是子級(jí)分類 ,排序大家也可以加一下字段.

CREATE TABLE `category` (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `parendid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of category
-- ----------------------------
INSERT INTO `category` VALUES ('1', '手機(jī)', null, '0');
INSERT INTO `category` VALUES ('2', '家電', null, '0');
INSERT INTO `category` VALUES ('3', '家具', null, '0');
INSERT INTO `category` VALUES ('4', '諾基亞', null, '1');
INSERT INTO `category` VALUES ('5', '蘋果', null, '1');
INSERT INTO `category` VALUES ('6', '電冰箱', null, '2');
INSERT INTO `category` VALUES ('7', '電視機(jī)', null, '2');
INSERT INTO `category` VALUES ('8', '柜子', null, '3');
INSERT INTO `category` VALUES ('9', '桌子', null, '3');
INSERT INTO `category` VALUES ('10', '諾基亞3310', null, '4');
INSERT INTO `category` VALUES ('11', '蘋果8s', null, '5');
INSERT INTO `category` VALUES ('12', '海爾電冰箱', null, '6');
INSERT INTO `category` VALUES ('13', '長(zhǎng)虹電視機(jī)', null, '7');
INSERT INTO `category` VALUES ('14', '紅木柜子', null, '8');
INSERT INTO `category` VALUES ('15', '紅木桌子', null, '9');

php代碼部分

<?php
/**
 * Created by PhpStorm.
 * User: a-4
 * Date: 2017/8/3
 * Time: 14:12
 */
mysql_connect('localhost','root','');
mysql_select_db('ld');
mysql_query('set names utf8');
$sql = "select * from category order by sort_order";
$re = mysql_query($sql);
$array = array();
while($row= mysql_fetch_assoc($re)){
    $array[]=$row;
}
//創(chuàng)建樹形結(jié)構(gòu)
function createTree($list,$parendid=0,$deep=0){
    static $tree =array();
    foreach($list as $k=>$rows){
     if($rows['parendid'] == $parendid){
         //深度字段 次字段來作為分級(jí)的標(biāo)準(zhǔn)
         $rows['deep'] =$deep;
         $tree[] = $rows;
         createTree($list,$rows['id'],$deep+1);
     }
    }
  return $tree;
}
echo '<pre>';
$tmp= createTree($array);
foreach ($tmp as $rows){
    echo str_repeat('&nbsp;',$rows['deep']*2),$rows['name'],'<br>';
}
//print_r ($tmp);
?>


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI