一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP 無限分類三種方式 非函數(shù)的遞歸調(diào)用!

php無限分類大致有三種方式,

  1、數(shù)據(jù)庫通過設(shè)置父類ID來進(jìn)行唯一索引,然后使用函數(shù)的遞歸調(diào)用實(shí)現(xiàn)無限分類;

  2、數(shù)據(jù)庫設(shè)計(jì)通過特定格式進(jìn)行排列,然后使用mysql查詢關(guān)鍵函數(shù):concat。程序?qū)崿F(xiàn)比較簡單;

  3、第三種不是太了解, 好像要使用到算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行排列。

今天我主要分享下第二種方式,一開始也是找了很多資料,確實(shí)比較難理解。不過最終還是給搞明白了,因此記下隨筆,希望通過這篇文章能夠幫助到大家。

一、數(shù)據(jù)庫設(shè)計(jì):  


復(fù)制代碼 代碼如下:
--
-- Table structure for table `category`
--
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`catpath` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
--
-- Dumping data for table `category`
--
INSERT INTO `category` (`id`, `catpath`, `name`) VALUES
(1, '0', '網(wǎng)站首頁'),
(2, '0-1', 'Linux OS'),
(3, '0-1', 'Apache服務(wù)器'),
(4, '0-1', 'MySQL數(shù)據(jù)庫'),
(5, '0-1', 'php腳本語言'),
(6, '0-1-2', 'Linux 系統(tǒng)教程'),
(7, '0-1-2', 'Linux 網(wǎng)絡(luò)技術(shù)'),
(8, '0-1-2', 'Linux 安全基礎(chǔ)'),
(9, '0-1-2-7', 'Linux LAMP'),
(10, '0-1-3-10', 'apache Server');

這里說明下,catpath的-鏈接符號不是固定的,可以選擇,;等特殊符號。
二、 php代碼實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
$conn = mysql_connect ( 'localhost', 'root', '' );
mysql_select_db ( 'test', $conn );
mysql_query ( 'set names UTF8' );
$sql = "select id,concat(catpath,'-',id) as abspath,name from category order by abspath";
$query = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $query ) ) {
/**
* 第一種展示方法
*/
/*$space = str_repeat ( '    ', count ( explode ( '-', $row ['abspath'] ) ) - 1 );
echo $space . $row ['name'] . '<br>';*/
/**
* 第二種展示方法
*/
$space = str_repeat ( '    ', count ( explode ( '-', $row ['abspath'] ) ) - 1 );
$option .= '<option value="' . $row ['id'] . '">' . $space . $row ['name'] . '</option>';
}
echo '<select name="opt">' . $option . '</select>';

上效果圖:

    

這里有幾個關(guān)鍵的地方需要注意下:
 1、在數(shù)據(jù)庫查詢字段是用了concat函數(shù),不了解的地方可以google下。 
 2、第二個地方主要是用到了php中的str_repeat巧妙的設(shè)置了空格。
有錯誤之處,望mail: chenghuiyong1987@gmail.com或者留言

php技術(shù)PHP 無限分類三種方式 非函數(shù)的遞歸調(diào)用!,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 婷婷色中文字幕 | 日韩一区二区超清视频 | 综合天天 | 看全色黄大色黄大片色责看的 | 天天综合网站 | 色噜噜噜视频 | 国产精品高清一区二区三区 | 男人的天堂久久精品激情a 男人进去女人爽免费视频国产 | 91精品在线免费观看 | 欧美亚洲激情在线 | 中文字幕免费在线视频 | 国产综合在线观看视频 | 国产精品美女久久久久网站 | 亚洲图片小说综合 | 亚洲免费精品视频 | 国产精品吹潮香蕉在线观看 | 精品国产第一国产综合精品gif | 中文一区二区 | 99热这里有免费国内精品 | 青青久久久国产线免观 | 狠狠色香婷婷久久亚洲精品 | 狠狠色狠狠色很很综合很久久 | 国产高清自拍 | 成人免费网址在线 | 五月亭亭免费高清在线 | 91九色麻豆| 色网站免费视频 | 久久久高清日本道免费观看 | 婷婷网址 | 国产精品麻豆久久久 | 色婷婷综合激情 | 国产桃色在线成免费视频 | 色播视频在线观看免费 | 精品欧美一区二区三区在线观看 | 国产一在线 | 激情六月丁香婷婷四房播 | 国产夫妻av| 亚洲一区二区三区网站 | 秋霞日韩一区二区三区在线观看 | 亚洲精品乱码蜜桃久久久 | 东北普通话清晰对白 |