php写的自定义函数,递归实现无限分类生成下拉列表,不用每次都从数据库读取数据,提高了效率。
有需要的朋友,建议参考下。
复制代码 代码如下:
<?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数组实现的无限分类(不使用数据库与用递归)
php与mysql实现的无限级分类
对ecshop中的无限级分类的分析
php用递归方法实现无限级分类的代码
php实现的无极分类(递归)的代码