超碰免费人人操|国产视频二区久久艹人人操|欧美激情第一页在线|久热最新无码中文视频|91精品国际成人|亚洲成人精品在线视频青青草|久草免费高清完整在线观看|你懂的AV在线日本黄网页|国产黄色AV日韩女同网|欧美成人色区导航片av

php實現(xiàn)無限級分類實現(xiàn)代碼

時間:2025-10-05 14:36:50 php語言

php實現(xiàn)無限級分類實現(xiàn)代碼

  開始以為這樣的功能似乎很難,之前也做過一個百科的東西,其中也涉及到了分類的功能,不過不是無限級的分類,而是簡單的實現(xiàn)了固定的三級分類,當(dāng)時是自己設(shè)計的,想在想起來實現(xiàn)方法太土了,其實三級分類也只是無限級分類的一種特殊情況而已嘛。經(jīng)過一段時間考慮,已經(jīng)有了一些眉目,到網(wǎng)上一查,原來這樣的東西鋪天蓋地,呵呵。其實無限級下拉列表功能是很簡單的,無非就是用一個遞歸算法就好啦。

  首先要設(shè)計數(shù)據(jù)庫,需要建一個表,里面存儲分類信息,至少需要3個字段,第一個是主鍵(ID),第二個是父級分類ID(parentid),第三個是分類的名稱(classname)?赡艿囊环N效果是:

  ID PARENTID CLASSNAME

  1 0 一級分類A

  2 0 一級分類B

  3 1 二級分類A

  4 1 二級分類B

  主要思路:首先看第三行和第四行,父類ID(PARENTID)的值是1,表示屬于id=1這個類的子類,而,一,二兩行因為是一級分類,沒有上級分類,所以父類ID(PARENTID)的值是0,表示初級分類,依次類推便實現(xiàn)了無限級分類。最終的效果是:

  ├一級分類A

  ├─┴二級分類A

  ├─┴二級分類B

  ├一級分類B

  然后就是程序,這里以PHP作為描述語言,可以很方便的改成其他語言,因為原理相似,就是一個遞歸而已。

  復(fù)制代碼 代碼如下:

  <?php

  $dbhost = "localhost"; /pic/p>

  $dbuser = "root"; /pic/p>

  $dbpd = "123456"; /pic/p>

  $dbname = "test"; /pic/p>

  mysql_connect($dbhost,$dbuser,$dbpd); /pic/p>

  mysql_select_db($dbname); /pic/p>

  mysql_query("SET NAMES 'utf8'");

  display_tree("├",0);

  function display_tree($tag,$classid) {

  $result = mysql_query("

  SELECT *

  FROM ylmf_class

  WHERE parentid = '" . $classid . "'

  ;"

  );

  while ($row = mysql_fetch_array($result)) {

  /pic/p>

  echo $tag.$row['classname'] . "<br/>";

  /pic/p>

  display_tree($tag."─┴",$row['id']);

  }

  }

  ?>

  這樣遞歸方法,對于大量的子欄目是個負(fù)擔(dān),一些成熟的cms系統(tǒng)。都是生產(chǎn)數(shù)組方便調(diào)用,也能大幅的提高效率。

【php實現(xiàn)無限級分類實現(xiàn)代碼】相關(guān)文章:

PHP實現(xiàn)無限級分類的方法10-12

php+mysql實現(xiàn)無限分類實例詳解09-11

PHP滾動日志的代碼實現(xiàn)09-30

PHP中如何實現(xiàn)crontab代碼07-15

php進(jìn)度條實現(xiàn)代碼07-12

PHP實現(xiàn)大文件上傳源代碼09-20

php的curl實現(xiàn)get和post的代碼08-30

PHP類商品秒殺計時實現(xiàn)代碼09-04

php代碼如何實現(xiàn)命令行執(zhí)行08-06