bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

PHP實現簡單的樹形列表之二-創新互聯

2017.5.22 北京 大雨

創新互聯公司網站建設公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發展,成交一個客戶多一個朋友!專注中小微企業官網定制,網站設計、成都網站建設,塑造企業網絡形象打造互聯網企業效應。

來到公司之后, 準備把代碼移植到公司的小項目里,移植的過程中發現了一處設計有問題的地方,調整一下。

第一處錯誤是:構建葉子節點的時候,只保存了節點的名稱,沒有存ID, 如果頁面跟后臺交互的時候,當存在節點名稱一樣的情況,服務器就不能判斷出用戶正在再操作那個節點。

更改了一下數據結構的定義:
用數組來存放一個節點, 如果這個節點是末端節點,則該數組,只有一個字符串元素,

如果一個節點為葉子節點,則該節點將會有兩個字符串元素,第一元素存節點名稱,第二個元素存節點ID。
如果這個節點存在子節點,則在當前數組中,增加一個數組,所有的子節點的元素存放在這個數組中。

從數據庫中取數據的代碼調整如下:

function build_book_tree($data, $parentid){     $nodeName = '';     $child = [];     foreach($data as $key => $val){         //如果當前遍歷的項跟查詢的id相同,則獲取節點的名稱         if ($val[0] == $parentid){             $nodeName = $val[1];         }         //如果當前節點的父節點跟查詢的節點相同,則通過遞歸,獲取他的子節點,并將結果,賦給當前節點節點數組中         if ($val[2] == $parentid){             array_push($child, build_book_tree($data, $val[0]));         }     }     //不存放空節點     if (count($child) > 0)         return array($nodeName, $child);     else          //return $nodeName;         return [$nodeName, $parentid]; }

生成HTML list的代碼調整如下

function build_html_list($data) {     //輸出標準父子節點     if (is_array($data) and count($data) == 2){         if (is_string($data[0]) and is_array($data[1])){             // 輸出節點名             echo "<li>".$data[0];             // 輸出子節點             if (is_array($data[1])){                 echo "<ul>";                 foreach ($data[1] as $item){                     if (is_string($item)){                         echo "<li>".$item."</li>";                     }                      else{                         build_html_list($item);                         }                 }                 echo "</ul>";             }             echo "</li>";            }         // 輸出葉子節點 2017.5.22 add by sunhu         else if (is_string($data[0]) and is_int($data[1])){             echo sprintf('<li cid="%d">%s</li>', $data[1], $data[0]);         }                              }  }

這樣,如果用戶單擊一個 li 元素的時候,就可以從 li元素的 cid 屬性中,查找到 節點 id 了

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:PHP實現簡單的樹形列表之二-創新互聯
轉載源于:http://vcdvsql.cn/article32/iejsc.html

成都網站建設公司_創新互聯,為您提供網站設計公司網站改版企業網站制作Google網站制作ChatGPT

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發