PHP實現無限極分類圖文教程,_PHP教程

來源:互聯網
上載者:User

PHP實現無限極分類圖文教程,


一般來說實現無限極分類都是使用遞迴或者迭代的方式,小夥伴們看下本文的實現方式吧。

1,資料庫設計:

2,代碼:

複製代碼 代碼如下:/**
* @author koma
* @todo PHP無限極分類
*/ $cn = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('t', $cn) or die(mysql_error());
mysql_query('set names utf8');
/**
* 從頂層逐級向下擷取子類
* @param number $pid
* @param array $lists
* @param number $deep
* @return array
*/ function getLists($pid = 0, &$lists = array(), $deep = 1) {
$sql = 'SELECT * FROM category WHERE pid='.$pid;
$res = mysql_query($sql);
while ( ($row = mysql_fetch_assoc($res)) !== FALSE ) {
$row['catename'] = str_repeat(' ', $deep).'|---'.$row['catename'];
$lists[] = $row;
getLists($row['id'], $lists, ++$deep); //進入子類之前深度+1 --$deep; //從子類退出之後深度-1 }
return $lists;
}
function displayLists($pid = 0, $selectid = 1) {
$result = getLists($pid);
$str = ''; foreach ( $result as $item ) { $selected = ""; if ( $selectid == $item['id'] ) { $selected = 'selected'; } $str .= ''.$item['catename'].''; } return $str .= '';
} /**
* 從子類開始逐級向上擷取其父類
* @param number $cid
* @param array $category
* @return array:
*/ function getCategory($cid, &$category = array()) {
$sql = 'SELECT * FROM category WHERE id='.$cid.' LIMIT 1';
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
if ( $row ) {
$category[] = $row;
getCategory($row['pid'], $category);
}
krsort($category); //逆序,達到從父類到子類的效果 return $category;
}
function displayCategory($cid) {
$result = getCategory($cid);
$str = "";
foreach ( $result as $item ) {
$str .= ''.$item['catename'].'>';
}
return substr($str, 0, strlen($str) - 1);
}
echo displayLists(0, 3);
echo displayCategory(13);

3,:

是不是很簡單呢,小夥伴們可以直接拿去用哈,不收著作權費^_^

http://www.bkjia.com/PHPjc/917041.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/917041.htmlTechArticlePHP實現無限極分類圖文教程, 一般來說實現無限極分類都是使用遞迴或者迭代的方式,小夥伴們看下本文的實現方式吧。 1,資料庫設計:...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.