php递归实现无限分类生成下拉列表的函数

2015-01-24信息快讯网

php自定义函数之递归实现无限分类生成下拉列表,这样可以提高效率,不用每次都从数据库读取数据。

 
/*―――――――――――――――――― */ 
//C 递归实现无限分类生成下拉列表函数 
//C $tpl->assign('sort_list',createSortOptions ()); 
//C $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 .= '<option value="0″ >请选择</option>'; 
} 
$res = $db->query ($sql); 
if ($res) 
{ 
$n++; 
while ($row = $db->fetch_assoc ($res)) 
{ 
$i++; 
$options .="<option value='{$row['sort_id']}'"; 
if ($row['sort_id'] == $selected) 
{ 
$options .=' selected '; 
} 
$options .=">".str_repeat(' ',$n*3).$row['sort_name']."</option>\n"; 
$options .=createSortOptions ($selected,$row['sort_id'],$n); 
} 
} 
return $options; 
} 
©2014-2024 dbsqp.com