Thinkphp 获取所有子分类或父分类ID
/**
* @Author: HTL
* @Email: Huangyuan413026@163.com
* @DateTime: 2016-04-22 11:25:02
* @Description: 获取当前分类下所有子类ID
* @pid:父类ID
*/
function get_child_ids($pid){
return $this->__get_ids($pid,'','id');
}
/**
* @Author: HTL
* @Email: Huangyuan413026@163.com
* @DateTime: 2016-04-22 11:25:02
* @Description: 获取当前分类下所有父类ID
* @id:子类ID
*/
function get_parent_ids($id){
return $this->__get_ids($id,'','pid');
}
/**
* @Author: HTL
* @Email: Huangyuan413026@163.com
* @DateTime: 2016-04-22 11:25:02
* @Description: 获取类下所有父/子类ID
* @pid:多个父/子类ID集以,分隔
* @childids:找到的子/父分类列表
* @find_column:where查找的字段[id|pid:default]
*/
function __get_ids($pid,$childids,$find_column = 'id'){
if(!$pid || $pid<=0 || strlen(pid)<=0 || !in_array($find_column,array('id','pid'))) return 0;
if(!$childids || strlen($childids)<=0) $childids = $pid;
$column = ($find_column =='id'? "pid":"id");//id跟pid为互斥
$ids = $this->model->where("$column in($pid)")->getField("$find_column",true);
$ids = implode(",",$ids); //未找到,返回已经找到的
if($ids<=0) return $childids;
//添加到集合中
$childids .= ','.$ids;
//递归查找
return $this->__get_ids($ids,$childids,$find_column);
}
/**
* @Author: HTL
* @Email: Huangyuan413026@163.com
* @DateTime: 2016-04-07 09:33:27
* @Description: 默认状态更改
*/
function is_default(){
$id = intval($_GET['id']);
$type = intval($_GET['status']);
if ($id>0) {
//取消默认时将取消所有子分类的默认
if($type!=1){
$id = $this->_get_child_ids($id);
}
else{
$id = $this->_get_parent_ids($id);
}
print_r($id);exit;
$rst = $this->model->where("id in($id)")->setField('is_default',$type);
if ($rst) {
$this->success(L("SAVE_SUCCESS"), U("index"));
} else {
$this->error(L('SAVE_ERROR'));
}
} else {
$this->error(L('Parameter_ERROR'));
}
}
CREATE TABLE `thk_material` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`pid` INT(11) NULL DEFAULT '0' COMMENT '父类ID'
);



Thinkphp 获取所有子分类或父分类ID的更多相关文章
- ELementUI 树形控件tree 获取子节点同时获取半选择状态的父节点ID
使用element-ui tree树形控件的时候,在选择一个子节点后,使用getCheckedKeys 后,发现只能返回子节点的ID,但是其父节点ID没有返回. 解决办法有三种: 1.element ...
- Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名
在Magento目录的分类页面里,希望在左侧导航获取到父分类和子分类,可以用以下方法:打开app/your_package/your_themes/template/catalog/navigatio ...
- ThinkPHP分类查询(获取当前分类的子分类,获取父分类,下一级分类)
获取指定分类的所有子分类ID号 //获取指定分类的所有子分类ID号 function getAllChildcateIds($categoryID){ //初始化ID数组 $array[] = $ca ...
- MySQL 获取子分类ID的所有父分类ID和Name的集合
CREATE DEFINER=`sa`@`%` PROCEDURE `proc_Product_leimu_ParentIds`( IN pID INT ) BEGIN ) vars, product ...
- wordpress 获取分类ID,分类标题,分类描述,分类链接url函数
get_cat_ID() 根据分类名称获取分类ID ///// get_cat_name() 根据分类ID获取分类名称 用法:<?phpget_cat_ID( $cat_name ...
- magento简化url多级分类去掉父目录
在Magento模板开发中,有时候需要将多级分类的url简化,Magento的URL默认是显示多级分类的http://afish.cnblogs.com/分类1/分类2/分类3现在需要简化为:分类2的 ...
- SQL SERVER 下:1、递归查询父分类下的各个子分类。 2、查询每个商品分类中最贵的前两个商品SQL
1.递归查询父分类下的各个子分类.表设计: SQL: --CTE 语句(适用于MSSQL2005以后版本) with cte_testNavi(Id,Name,Pid ) as ( --这是查询语句 ...
- 通过父级id获取到其下所有子级(无穷级)——Mysql函数实现
[需求]某用户只能查看其自己信息及其下级信息,涉及通过该用户所在部门获取其下所有部门(多层)id集合. 步骤一:对数据库进行设置: set global log_bin_trust_function_ ...
- wordpress获取当前分类的子分类
1.现在function.php里面添加下面的代码 function get_category_root_id($cat) { $this_category = get_category($cat); ...
随机推荐
- POP3_使用SSL链接邮箱并获取邮件
Gmail目前已经启用了POP3和SMTP服务,与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的,因此常规的JavaMail程序是无法收发邮件的,下面是使用JavaMai ...
- 使用filezilla server搭建FTP服务器
参考文献 http://www.pc6.com/infoview/Article_51961_all.html 背景 需要在内网环境下搭建一个FTP服务器,查阅相关资料发现使用filezilla se ...
- .NET轻量级DBHelpers数据访问组件
一.摘要 一说到ADO.NET大家可能立刻想到的就是增.删.改.查(CRUD)操作,然后再接就想到项目中的SQLHelper.没错本课分享课阿笨给大家带来的是来源于github上开源的DAO数据库访问 ...
- 《完全用Linux工作》作者:王垠
完全用 GNU/Linux 工作 理解 GNU/Linux 注:本文是清华“牛仔”王垠的“成名作”,在网上引起很大的争议.对他崇拜地五体投地者有,对他嗤之以鼻者也有,总之成了一年多以前Linux 爱好 ...
- 国内打不开onedrive,怎么办?
Onedrive不能正常连接使用是由于DNS遭到污染闹的,其上传和下载文件慢也是DNS遭到污染闹的. 方法/步骤 在C盘windows/system32/drivers/etc/hosts下,用记 ...
- jeffy-vim-v3.2
jeffy-vim-v3.2 增加了vim-gutentags 插件,支持tags自动生成.
- 安装/使用 MVVMLight(转)
安装 MVVMLight Toolkit 为什么说是 MVVMLight Toolkit ?实际上我们一般安装的都是 MVVMLight Toolkit ,这个里面包含了工具就是在VS新建工程的时候你 ...
- mvn常用插件目标
由于Maven在使用时非常简单,比如下面是百度百科中对Maven常用命令的列表: mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy ...
- Spring Boot开发之流水无情(二)
http://my.oschina.net/u/1027043/blog/406558 上篇散仙写了一个很简单的入门级的Spring Boot的例子,没啥技术含量,不过,其实学任何东西只要找到第一个突 ...
- 【python】python编码方式,chardet编码识别库
环境: python3.6 需求: 针对于打开一个文件,可以读取到文本的编码方式,根据默认的文件编码方式来获取文件,就不会出现乱码. 针对这种需求,python中有这个方式可以很好的解决: 解决策略: ...