程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 設計樹狀結構貨品分類狀態,樹狀結構貨品分類

設計樹狀結構貨品分類狀態,樹狀結構貨品分類

編輯:關於PHP編程

設計樹狀結構貨品分類狀態,樹狀結構貨品分類


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']."<br/>"; 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:金尚在線商城項目
這個系統整合了商品展示、商品管理、商品類別管理、購物車、會員管理等功能,提供了簡易的操作,豐富的功能和完善的權限管理,為用戶提供了一個低成本、高效率的網上商城建設方案。這個項目在商品類別設計中采用了樹狀層次設計結構;在前台可以分類浏覽所有商品詳細信息,下訂單購買商品,查看購物車狀態以及購買用戶的反饋信息;在系統後台可以管理會員、管理商品和商品類別......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved