php实现smarty模板无限极分类的方法

2025-05-29 0 92

本文实例讲述了php实现smarty模板无限极分类的方法。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36
<?php

$conn = mysql_connect("localhost","admin","admin");

mysql_select_db("people_shop",$conn);

mysql_query("SET NAMES 'UTF-8'");

$class_arr=array();

$sql = "select * from ecs_brand ORDER BY brand_id asc ";

$query = mysql_query($sql);

while($row = mysql_fetch_array($query)){

$class_arr[] = array($row['brand_id'],$row['brand_name'],$row['parent_id'],$row['sort_order']);

}

function dafenglei_select($m,$id,$index)

{

global $class_arr;

global $str;

$n = str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$m);

// $n = $m;

for($i=0;$i<count($class_arr);$i++){

if($class_arr[$i]['2']==$id){

if($class_arr[$i]['0']==$index){

$str.= "<option value=\\"".$class_arr[$i][0]."\\" selected=\\"selected\\">".$n.$class_arr[$i][1]."</option>\\n";

}else{

$str.= "<option value=\\"&nbsp;&nbsp;".$class_arr[$i][0]."\\">".$n.$class_arr[$i][1]."</option>\\n";

}

dafenglei_select($m+1,$class_arr[$i][0],$index);

}

}

return $str;

}

$aa = dafenglei_select(1,0,0);

?>

<select name="parent_id">

<option value='0'>顶级分类</option>

<?php

echo $aa;

?>

</select>

如果是用smarty的话
再加一个

复制代码 代码如下:

$smarty->assign('wuxian_class',$aa);


在html页面加上这句就可以了

?

1

2

3

4
<select name="parent_id">

<option value='0'>顶级分类</option>

{$wuxian_class}

</select>

还有一个问题要注意 $str必须要是global行的,否则会有错误。

无限极分类的延伸:

我们可以写一个函数,每次调用这个函数的时候我们只需要传入这个数组及数据,就可以调用了,下面是我写的一个方法。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
function dafenglei_select(& $arr=array(),$m,$id,$index)

{

// global $class_arr;

global $str;

$n = str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$m);

// $n = $m;

for($i=0;$i<count($arr);$i++){

if($arr[$i]['2']==$id){

if($arr[$i]['0']==$index){

$str.= "<option value=\\"".$arr[$i][0]."\\" selected=\\"selected\\">".$n.$arr[$i][1]."</option>\\n";

}else{

$str.= "<option value=\\"&nbsp;&nbsp;".$arr[$i][0]."\\">".$n.$arr[$i][1]."</option>\\n";

}

dafenglei_select($arr,$m+1,$arr[$i][0],$index);

}

}

return $str;

}

调用只需要这样就行了:

复制代码 代码如下:

$aa = dafenglei_select($class_arr,0,0,0);

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php实现smarty模板无限极分类的方法 https://www.kuaiidc.com/99633.html

相关文章

发表评论
暂无评论