Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php 利用递归的方法实现无限分类生成下拉列表

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

怪我咯
怪我咯asal
2017-07-07 09:50:121248semak imbas

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; 
}


Atas ialah kandungan terperinci php 利用递归的方法实现无限分类生成下拉列表. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn