導航:首頁 > 編程語言 > 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樹形分類相關的資料

熱點內容
360命令行 瀏覽:724
程序員騙色 瀏覽:666
cisco2950重啟命令 瀏覽:459
加密貨幣區塊鏈可以增發嗎 瀏覽:288
黃龍公式源碼 瀏覽:771
linux系統ftp伺服器 瀏覽:321
山西配電伺服器機櫃雲主機 瀏覽:452
量化選股模型公式源碼 瀏覽:7
龍卡購車分期怎麼綁app 瀏覽:777
python讀取bios信息 瀏覽:111
程序員老爸初體驗 瀏覽:729
aes加密後長什麼樣子 瀏覽:976
語言有編譯器嗎 瀏覽:29
解壓聲控怎麼調大音量 瀏覽:214
纏論中的高精度畫筆源碼 瀏覽:822
通用計算型雲伺服器 瀏覽:618
程序員手機分享 瀏覽:296
pdfsmart 瀏覽:425
nginx部署php 瀏覽:666
javaaes加密解密代碼 瀏覽:269