導航:首頁 > 編程語言 > php樹形分類

php樹形分類

發布時間:2023-08-09 23:43:28

php MYSQL 的多級分類樹結構

打開資料庫那就不寫了。
前幾天剛寫了一個。你看下


/* 表結構

CREATE TABLE `lh_categroy` (

`id` int(10) NOT NULL auto_increment,

`parentid` int(6) NOT NULL,

`name` varchar(255) NOT NULL,

`keyword` varchar(255) NOT NULL COMMENT '關鍵字',

`des` varchar(255) NOT NULL COMMENT '描述',

PRIMARY KEY (`id`),

UNIQUE KEY `name` (`name`)

) ENGINE=MyISAM AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;


*/

/**

* 獲得所有欄目排序後的列表

* @return array

*/

function getAllOrderColumns($id = 0) {

global $columns;

$result = array();

if ($id) $result[$id] = $columns[$id];

foreach ($columns as $column) {

if ($column['parentid'] == $id) {

$column['level'] = 0;

$result[$column['id']] = $column;

getColumns($columns, $column['id'], $result, 1);

}

}

return $result;

}


function getColumns($columns, $cid, &$result, $l = 1) {

foreach ($columns as $c) {

if ($c['parentid'] == $cid) {

$c['level'] = $l;

$result[$c['id']] = $c;

getColumns($columns, $c['id'], $result, $l + 1);

}

}

}


$sql = 'select * from lh_categroy';

$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)){

$columns[]=$row;

}


$fenlei = '';

$fenlei = '<select name="cid" style="width:200px; height:25px;">

<option value="0">請選擇分類</option>';

foreach(getAllOrderColumns() as $v){

$v[name] = $v[level] ? ($v[level]==1 ? '&nbsp;&nbsp;|-'.$v[name]:'&nbsp;&nbsp;&nbsp;|-'.$v[name]) : $v[name];

$fenlei .= "<option value='$v[id]'>$v[name]</option>";

}

$fenlei .= '</select>';

echo $fenlei;

㈡ php中數組的分類有哪兩種

1、索引數組

有兩種創建索引數組的方法:

索引是自動分配的(索引從 0 開始):

$cars=array("porsche","BMW","Volvo");

2、關聯數組

關聯數組是使用您分配給數組的指定鍵的數組。

有兩種創建關聯數組的方法:

$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");

(2)php樹形分類擴展閱讀

實用函數——

有相當多的實用函數作用於數組,參見數組函數一節。

注: unset() 函數允許取消一個數組中的鍵名。要注意數組將不會重建索引。

<?php

$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );

unset( $a[2] );

/* 將產生一個數組,定義為

$a = array( 1=>'one', 3=>'three');

而不是

$a = array( 1 => 'one', 2 => 'three');

*/

$b = array_values($a);

// Now $b is array(0 => 'one', 1 =>'three')

?>

foreach 控制結構是專門用於數組的。它提供了一個簡單的方法來遍歷數組。

㈢ php無限極分類查找父級生成樹形結構子級在最頂層,怎麼辦

一般這種問題需要使用嵌套函數,PHP也是支持嵌套函數的,就是不停的調用自身,直到符合條件後退出函數循環,這樣就能找出它所有的父級了,在c語言的時候也學過,理解起來還是比較容易的。

㈣ PHP怎麼遞歸

下面我舉一個其他的例子,雖然不是族譜,但是原理都是一樣的。

在一些復雜的系統中,要求對信息欄目進行無限級的分類,以增強系統的靈活性。那麼PHP是如何實現無限級分類的呢?我們在本文中使用遞歸演算法並結合mysql數據表實現無限級分類。
遞歸,簡單的說就是一段程序代碼的重復調用,當把代碼寫到一個自定義函數中,將參數等變數保存,函數中重復調用函數,直到達到某個條件才跳出,返回相應的數據。
Mysql
首先我們准備一張數據表class,記錄商品分類信息。表中有三個欄位,id:分類編號,主鍵自增長;title:分類名稱;pid:所屬上級分類id。
class表結構:

CREATE TABLE IF NOT EXISTS `class` (
`id` mediumint(6) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`pid` mediumint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

插入數據後,如圖:

如果要輸出json格式的數據,則可使用:

echo json_encode($list);

閱讀全文

與php樹形分類相關的資料

熱點內容
阿里程序員績效錄入 瀏覽:382
eb蜜罐原理及源碼 瀏覽:803
命令界面怎麼調大小 瀏覽:890
公共測試伺服器做什麼的 瀏覽:746
湖南網路伺服器雲空間 瀏覽:365
做博客需要什麼app 瀏覽:548
查看網站編程語言 瀏覽:302
我的世界伺服器的密碼怎麼弄 瀏覽:644
電腦文件夾如何傳輸視頻不壓縮 瀏覽:145
安卓對單片機編程 瀏覽:728
被加密的txt 瀏覽:927
單片機匯編調用子程序 瀏覽:253
小米定位伺服器地址 瀏覽:612
有什麼好的學畫app 瀏覽:882
5線4相步進電機單片機控制 瀏覽:293
linux重啟php命令行 瀏覽:999
加密軟體gif 瀏覽:761
取字元串的前幾位java 瀏覽:312
車銑復合雕花編程教學 瀏覽:904
android圖片等比例縮放 瀏覽:355