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


Posted in PHP onDecember 07, 2015

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

<?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("    ",$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=\"  ".$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页面加上这句就可以了
<select name="parent_id">
<option value='0'>顶级分类</option>
{$wuxian_class}
</select>

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

无限极分类的延伸:

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

function dafenglei_select(& $arr=array(),$m,$id,$index)
{  
  // global $class_arr;
  global $str;
   $n = str_repeat("    ",$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=\"  ".$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程序设计有所帮助。

PHP 相关文章推荐
简单的php 验证图片生成函数
May 21 PHP
PHP 类型转换函数intval
Jun 20 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP仿微信发红包领红包效果
Oct 30 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
PHP实现简单日历类编写
Aug 28 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 #PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 #PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 #PHP
PHP函数func_num_args用法实例分析
Dec 07 #PHP
学习php设计模式 php实现抽象工厂模式
Dec 07 #PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 #PHP
学习php设计模式 php实现建造者模式
Dec 07 #PHP
You might like
PHP与SQL注入攻击[一]
2007/04/17 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
事件绑定之小测试  onclick &amp;&amp; addEventListener
2011/07/31 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
Python类定义和类继承详解
2015/05/08 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
思想品德自我鉴定
2013/10/12 职场文书
留学自荐信写作方法
2014/01/27 职场文书
求职毕业生自荐书
2014/02/08 职场文书
行政助理的岗位职责
2014/02/18 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
培训研修方案
2014/06/06 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
实习班主任自我评价
2015/03/11 职场文书
用人单位聘用意向书
2015/05/11 职场文书
公司出差管理制度范本
2015/08/05 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书