PHP開發(fā)分類技術(shù)之使用遞歸實現(xiàn)無限級分類(二)
我們繼續(xù)使用上一節(jié)創(chuàng)建一個簡單的數(shù)據(jù)庫test和表class
連接數(shù)據(jù)庫表:
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','yourname','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("連接失敗:".mysqli_connect_error()); } ?>
定義一個自定義函數(shù)get_array,思路與上一節(jié)思路基本相當(dāng)
設(shè)置父類pid = 0, 使用SQL語句查詢出它的子類,把查詢出來的子類放置到$result中
使用while循環(huán)出子類,調(diào)用自定義函數(shù)get_array,將子類的id傳入自定義函數(shù)中,
然后繼續(xù)查詢下一級,最后輸出數(shù)組。
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','yourname','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("連接失敗:".mysqli_connect_error()); } function get_array($id=0){ global $link; $sql = "select id,title from class where pid= $id"; $result = mysqli_query($link,$sql);;//查詢子類 $arr = array(); if($result){//如果有子類 while($rows=mysqli_fetch_assoc($result)){ //循環(huán)記錄集 $rows['list'] = get_array($rows['id']); //調(diào)用函數(shù),傳入?yún)?shù),繼續(xù)查詢下級 $arr[] = $rows; //組合數(shù)組 } return $arr; } } $list = get_array(0); //調(diào)用函數(shù) print_r($list); //輸出數(shù)組 ?>