国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php無限極分類實現方法分析

2024-05-05 00:10:08
字體:
來源:轉載
供稿:網友

本文實例講述了php無限極分類實現方法。分享給大家供大家參考,具體如下:

今天給大家帶來的是php的無限極分類技術,本人把無限極分類劃分為兩種。

首先我把數據庫表給大家看看,數據庫是tasks,數據庫表也是tasks

php,無限極分類

第一種方法(數組法)

這種方法其實是先把所有的數據查詢出來,重點在于生成的二維數組

<?php  //分類方法  function make_list($parent,$deep = 0){    global $tasks;//申明全局變量    global $strArr;//申明全局變量    $qianzhui = str_repeat(" ",$deep)."|--";    foreach ($parent as $key => $value) {      $strArr[] = $qianzhui.$value;      if(isset($tasks[$key])){        make_list($tasks[$key],++$deep);//遞歸調用函數      }    }  }  //數據庫連接  $dbc = mysqli_connect("localhost","root","1234","tasks");  //拼接sql語句  $q = "select task_id,parent_id,task from tasks where date_completed = '0000-00-00:00:00:00' order by parent_id,date_added asc";  //執行sql  $r = mysqli_query($dbc,$q);  //遍歷結果集  while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {    //組成數組(一級鍵為parent_id,二級鍵為task_id,值為任務內容)    $tasks[$parent_id][$task_id] = $task;  }  //打印數組  echo "<pre>";  print_r($tasks);  echo "</pre>";  make_list($tasks[0]);  echo "<pre>";  //打印縮進數組  print_r($strArr);  echo "</pre>";?>

php,無限極分類

運行結果圖

第二種方法(查表法)

這種方法其實是在一開始只查詢出parent_id=0的所有任務,然后采用遞歸的方式,動態生成查詢條件,然后把每條記錄的task_id又作為task_id,這樣又進行新一輪的查詢,知道查詢結果為空。

<?php  function findArr($where = "parent_id = 0",$deep = 0){    $dbc = mysqli_connect("localhost","root","1234","tasks");    global $strArr;    $q = "select task_id,parent_id,task from tasks where ".$where." order by parent_id,date_added asc";    $r = mysqli_query($dbc,$q);    $qianzhui = str_repeat(" ", $deep)."|--";    while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {      $strArr[] = $qianzhui.$task;      //拼接查詢條件      $where = "parent_id = ".$task_id;      //遞歸查詢      findArr($where,++$deep);    }  }  findArr();  //打印縮進數組  echo "<pre>";  print_r($strArr);  echo "</pre>";?>

php,無限極分類

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 施甸县| 乐安县| 淮安市| 砀山县| 蒙城县| 屏东市| 钟祥市| 安国市| 霍山县| 沂水县| 南华县| 阜新| 元朗区| 乡宁县| 广宗县| 德化县| 清涧县| 闽侯县| 琼海市| 历史| 牡丹江市| 巧家县| 九台市| 韶关市| 乐东| 清苑县| 孟村| 蓝山县| 科尔| 内乡县| 乌鲁木齐市| 越西县| 治县。| 岳阳市| 铅山县| 双柏县| 龙山县| 鞍山市| 铅山县| 盘锦市| 繁峙县|