亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP開發(fā)分類技術(shù)之使用遞迴實現(xiàn)無限級分類(一)

首先,我們需要建立一個簡單的資料庫test

<?php
$link = mysqli_connect('localhost','username','password','test');
mysqli_set_charset($link, "utf8");
if (!$link) {
  die("連接失敗:".mysqli_connect_error());
}
?>

建立新的表格class,設(shè)定3個欄位?

排序id ? ?int型。

分類名稱title ? ??varchar型。

分類pid ? int型。

類似如下的表格:

111.png

想法:

定義一個自訂函數(shù)get_str ,設(shè)定父類別pid = 0, 使用SQL語句查詢出它的子類,把查詢出來的子類別放置到$result中

#使用while循環(huán)出子類,透過建構(gòu)字串做成輸出的樣式,呼叫自訂函數(shù)get_str,將子類別的id傳入自訂函數(shù)中,

然後繼續(xù)查詢下一層。

<?php
function get_str($id = 0) {
  global $str;
  global $link;    //global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量。
  $sql = "select id,title from class where pid= $id";
  $result = mysqli_query($link,$sql);//查詢pid的子類的分類
  if($result){//如果有子類
    $str .= '<ul>';
    while ($row = mysqli_fetch_array($result)) { //循環(huán)記錄集
      $str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //構(gòu)建字符串
      get_str($row['id']); //調(diào)用get_str(),將記錄集中的id參數(shù)傳入函數(shù)中,繼續(xù)查詢下級
    }
    $str .= '</ul>';
  }
  return $str;
}
echo get_str(0);
?>

輸出類似:

112.png

繼續(xù)學(xué)習(xí)
||
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','username','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("連接失敗:".mysqli_connect_error()); } //遞歸-返回字符串格式的函數(shù) function get_str($id = 0) { global $str; global $link; //global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量。 $sql = "select id,title from class where pid= $id"; $result = mysqli_query($link,$sql);//查詢pid的子類的分類 if($result){//如果有子類 $str .= '<ul>'; while ($row = mysqli_fetch_array($result)) { //循環(huán)記錄集 $str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //構(gòu)建字符串 get_str($row['id']); //調(diào)用get_str(),將記錄集中的id參數(shù)傳入函數(shù)中,繼續(xù)查詢下級 } $str .= '</ul>'; } return $str; } echo get_str(0); ?>