首頁  >  文章  >  後端開發  >  php 利用遞歸的方法實現無限分類生成下拉列表

php 利用遞歸的方法實現無限分類生成下拉列表

怪我咯
怪我咯原創
2017-07-07 09:50:121192瀏覽

php自訂函數遞迴實作無限分類產生下拉清單,這樣可以提高效率,不用每次都從資料庫讀取資料。

 程式碼如下:

/*—————————————————— */ 
//– 递归实现无限分类生成下拉列表函数 
//– $tpl->assign('sort_list',createSortOptions ()); 
//– $tpl->assign('sort_list',createSortOptions ($sort_id)); 
/*—————————————————— */ 
function createSortOptions ($selected=0,$parent_id=0,$n=-1) 
{ 
global $db; 
$sql = "SELECT * FROM `@article_sort` WHERE `parent_id` = '{$parent_id}'"; 
$options = "; 
static $i = 0; 
if ($i == 0) 
{ 
$options .= &#39;<option value="0″ >请选择</option>&#39;; 
} 
$res = $db->query ($sql); 
if ($res) 
{ 
$n++; 
while ($row = $db->fetch_assoc ($res)) 
{ 
$i++; 
$options .="<option value=&#39;{$row[&#39;sort_id&#39;]}&#39;"; 
if ($row[&#39;sort_id&#39;] == $selected) 
{ 
$options .=&#39; selected &#39;; 
} 
$options .=">".str_repeat(&#39; &#39;,$n*3).$row[&#39;sort_name&#39;]."</option>\n"; 
$options .=createSortOptions ($selected,$row[&#39;sort_id&#39;],$n); 
} 
} 
return $options; 
}


#

以上是php 利用遞歸的方法實現無限分類生成下拉列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn