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中文網其他相關文章!