首页  >  文章  >  后端开发  >  php 利用递归的方法实现无限分类生成下拉列表

php 利用递归的方法实现无限分类生成下拉列表

怪我咯
怪我咯原创
2017-07-07 09:50:121194浏览

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