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 .= '<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; }
以上是php 利用递归的方法实现无限分类生成下拉列表的详细内容。更多信息请关注PHP中文网其他相关文章!