中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

php無(wú)限分類大致有三種方式,

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

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

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

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

一、數(shù)據(jù)庫(kù)設(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)站首頁(yè)'),
(2, '0-1', 'Linux OS'),
(3, '0-1', 'Apache服務(wù)器'),
(4, '0-1', 'MySQL數(shù)據(jù)庫(kù)'),
(5, '0-1', 'php腳本語(yǔ)言'),
(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');

這里說(shuō)明下,catpath的-鏈接符號(hào)不是固定的,可以選擇,;等特殊符號(hào)。
二、 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>';

上效果圖:

    

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

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

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

主站蜘蛛池模板: 国内自拍视频在线观看 | 免费人成激情视频在线观看冫 | 午夜激情影院 | 国产一区二区在线观看视频 | 成人午夜 | 999久久久免费精品国产 | 亚洲成人二区 | 一区二区三区在线 | 亚洲综合二区 | 91在线看| 精品日韩一区 | 成人精品区 | 日本国产精品视频 | 日韩欧美在线一区 | 黄色一级毛片 | 欧美一区二区在线播放 | 91精品国产麻豆 | 中国av在线免费观看 | 日韩欧美国产精品一区二区三区 | 久久精品久久久 | 精品欧美 | 91色综合 | 中文字幕一区二区三区在线观看 | 国产午夜精品一区二区三区嫩草 | 美日韩免费 | 精品二区| 久久视频精品 | 国产精品国产三级国产aⅴ浪潮 | 日韩手机在线看片 | 国产在线一区二区三区 | 亚洲精品二区 | 国产精品成人在线播放 | 日日操天天射 | 国产精品乱码一区二三区小蝌蚪 | 麻豆91精品91久久久 | 精品伊人久久 | 亚洲视频手机在线 | 中文字幕影院 | 婷婷成人在线 | 成人午夜精品 | 欧美一级在线免费 |