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 和 HTML
Oct 09 PHP
PHP 超链接 抓取实现代码
Jun 29 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
php按单词截取字符串的方法
Apr 07 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP 实现缩略图
Mar 09 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中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
详解vue-router基本使用
2017/04/18 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
python实现简单的TCP代理服务器
2014/10/08 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
Python 线程池用法简单示例
2019/10/02 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
英国现代绅士品牌:Hackett
2017/12/17 全球购物
考试不及格的检讨书
2014/01/22 职场文书
行政专员的岗位职责
2014/03/10 职场文书
委托书格式范文
2015/01/28 职场文书
布达拉宫导游词
2015/02/02 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
Python Django模型详解
2021/10/05 Python