設計樹狀結構貨品分類狀態,樹狀結構貨品分類
1 php 2 header('Content-Type:text/html; charset=utf-8'); 3 $mp = array( 4 'name' => '手機', 'children' => array( 5 array('name' => '非智能機'), 6 array('name' => '智能機', 'children' =>array( 7 array('name' => '安卓機'), 8 array('name' => '蘋果機'), 9 array('name' => 'WP機')10 ))11 )12 );13 14 $cp =array(15 'name' => '電腦', 'children' => array(16 array('name' => '電腦整機', 'children' => array(17 array('name' => '筆記本'),18 array('name' => '超極本'),19 array('name' => '遊戲本')20 )),21 array('name' => '電腦配件', 'children' => array(22 array('name' => 'CPU'),23 array('name' => '主板')24 ))25 )26 );27 28 $goodsCats = array($mp, $cp);29 30 //遞迴遍曆$goodsCat中的所有元素31 function tree($goodsCats, $deep=0){32 //1:定義一個容器裝所有的分類33 static $tree = array();34 //2:定義一個變數來記錄分類的層級35 ++$deep;36 foreach($goodsCats as $goodsCat){37 $treeCat = array('name' => $goodsCat['name']); //將分類名字存放到數組中38 $treeCat['deep'] = $deep; //將分類層級也存放到數組中39 $tree[] = $treeCat; //將每次迴圈的分類存放起來40 //檢查每個分類下是否有子分類,如果有,繼續遍曆41 if(isset($goodsCat['children'])){42 tree($goodsCat['children'],$deep);43 }44 }45 return $tree;46 }47 48 $treeData = tree($goodsCats);49 50 foreach($treeData as $catData){51 echo str_repeat('------',($catData['deep']-1)).$catData['name']."
";52 }View Code
怎設計樹狀結構資料表
舉個例子吧,我用的表結構是這樣的,你可以參考下名稱 類型 約束條件 說明
type_id int 無重複 類別標識,主鍵
type_name char(50) 不允許為空白 類型名稱,不允許重複
type_father int 不允許為空白 該類別的父系類別標識,如果是頂節點的話設定為某個唯一值
type_layer char(6) 限定3層,初始值為000000 類別的先序遍曆,主要為減少檢索資料庫的次數 按照這樣的表結構,我們來看看上面例子記錄在表中的資料是怎樣的:type_id type_name type_father type_layer
1 總類別 0 000000
2 類別1 1 010000
3 類別1.1 2 010100
4 類別1.2 2 010200
5 類別2 1 020000
6 類別2.1 5 020100
7 類別3 1 030000
8 類別3.1 7 030100
9 類別3.2 7 030200
10 類別1.1.1 3 010101
…… 現在按type_layer的大小來檢索一下:SELECT * FROM Type_table_2 ORDER BY type_layer列出記錄集如下:type_id type_name type_father type_layer
1 總類別 0 000000
2 類別1 1 010000
3 類別1.1 2 010100
10 類別1.1.1 3 010101
4 類別1.2 2 010200
5 類別2 1 020000
6 ......餘下全文>>
提供一些用JAVA編程的典型項目名稱,有詳細說明就好
1:chat項目
Chat項目通過完成一個類比的線上聊天系統,主要鍛煉大家對於TCP/IP、Socket編程、C/S模式的編程、線程的運用等方面的能力。
這個項目所涉及的知識點包括JavaSE、Socket、C/S、多線程等。
2:坦克單機版/圖片版/網路版項目
這三個項目通過大家喜聞樂見的小遊戲的形式來鍛煉大家對於JavaSE綜合運用的能力,並且能夠初步運用物件導向的編程理念,鍛煉初步的設計能力,並基本掌握多線程的編程。
這三個項目所涉及的知識點包括JavaSE、Socket、C/S、多線程、AWT、GUI、事件處理、Eclipse運用、Debug調試、屬性檔案的運用、圖片的處理等。
3:設計模式版坦克大戰
這個項目是上面坦克項目的替代者,在預習了上面項目之後,這個項目的重點在於培養大家對於設計模式的理解,對於設計模式,如果有一定的代碼量,並且理解了物件導向的話,理解單個的設計模式是非常容易的,但是對於多個設計模式的綜合運用,恐怕還需要綜合練習,與此同時,對於多層架構,SSH架構等,如果想理解得更透徹,更底層,設計模式也是必不可少的。這個項目正式通過綜合運用多個設計模式來達到完整模式,並且為後面的課程做好準備。
這個項目所涉及的知識點包括JavaSE、多線程、AWT、GUI、事件處理、Eclipse運用、Debug調試、屬性檔案的運用、Singleton模式、Factory系列模式、Strategy模式、Observer模式、ChainOfResponsibility模式、Composite模式以及設計模式的綜合運用等。
4:BBS2006 / BBS2007項目
BBS的兩個項目完成了一個具備完善前台展現以及後台管理的論壇系統,論壇系統的商務邏輯大家比較熟悉,是用來進行JavaWeb開發的極好的入門系統。但是由於其商務邏輯太簡單,尚學堂目前的課程體系中已經用搜尋項目來替代它。
這個項目所涉及的知識點包括JDBC、資料庫、HTML、CSS、java script、AJAX、分頁、樹狀結構的設計與展現、JSP、Servlet、Session等。
6: 企業搜尋項目
在google和baidu上,一個簡單的頁面背後,抓取/索引/搜尋/緩衝等尖端技術在起著決定性的支撐性的作用,與此同時,隨著企業知識庫系統/知識管理系統/文件管理系統等大量應用,大量的企業非常需要應用搜尋系統,這個項目通過開源的搜尋引擎系列項目/蜘蛛程式等搭建一個高效的搜尋系統,這個系統是完全可以應用在企業階層專案之中的,同時,協助同學們理解搜尋引擎的原理,另外,也融合初步的使用者管理/樹狀展現等知識點。
這個項目所涉及的知識點包括抓取、索引、搜尋、緩衝、JDBC、資料庫、HTML、CSS、java script、AJAX、分頁、樹狀結構的設計與展現、JSP、Servlet、Session等,並且詳細講解了搜尋相關的開源系列軟體(Lucene等),同時也詳細介紹了搜尋引擎的原理。
7:金尚線上商城項目
這個系統整合了商品展示、商品管理、商品類別管理、購物車、會員管理等功能,提供了簡易的操作,豐富的功能和完善的許可權管理,為使用者提供了一個低成本、高效率的網上商城建設方案。這個項目在商品類別設計中採用了樹狀層次設計結構;在前台可以分類瀏覽所有商品詳細資料,下訂單購買商品,查看購物車狀態以及購買使用者的反饋資訊;在系統後台可以管理會員、管理商品和商品類別......餘下全文>>
http://www.bkjia.com/PHPjc/899961.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/899961.htmlTechArticle設計樹狀結構貨品分類狀態,樹狀結構貨品分類 1 ? php 2 header ('Content-Type:text/html; charset=utf-8' ); 3 $mp = array ( 4 'name' = '手機', 'children' = array...