首先,创建一个DB

CREATE TABLE IF NOT EXISTS `class` (
`id` mediumint(6) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`pid` mediumint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

然后插入数据

INSERT INTO `class` VALUES (1, '品牌女装', 0);
INSERT INTO `class` VALUES (2, '精品男装', 0);
INSERT INTO `class` VALUES (3, '连衣裙', 1);
INSERT INTO `class` VALUES (4, '旗袍', 1);
INSERT INTO `class` VALUES (5, '燕尾服', 2);

数据的结构能够自己去设计

这里采用递归的方法去实现无限极栏目分类

<?php 

$con = mysql_connect("localhost","root","123456");

mysql_query("set names 'utf8'");
mysql_select_db("test"); function get_str($id = 0) {
global $str;
$sql = "select id,title from class where pid= $id";
$result = mysql_query($sql);
if($result && mysql_affected_rows()){
$str .= '<ul>';
while ($row = mysql_fetch_array($result)) {
$str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>";
get_str($row['id']);
}
$str .= '</ul>';
}
return $str;
} echo get_str(0); ?>

返回一个数组

<?php 

$con = mysql_connect("localhost","root","123456");

mysql_query("set names 'utf8'");
mysql_select_db("test"); function get_array($id=0){
$sql = "select id,title from class where pid= $id";
$result = mysql_query($sql);
$arr = array();
if($result && mysql_affected_rows()){
while($rows=mysql_fetch_assoc($result)){
$rows['list'] = get_array($rows['id']);
$arr[] = $rows;
}
return $arr;
}
}
$list = get_array(0);
var_dump($list);?>

第三种分类;将同一个字段的一样的值归为一类,

 function Staff_Pay_nen($type,$emp_cd){
$con=dbcon9();
$sql = " ";
$sql .= " SELECT ";
$sql .= " pay_nen ";
if($type == "haken"){
//派遣
$sql .= " FROM ";
$sql .= " tbl_staff_gensen ";
$sql .= " WHERE ";
$sql .= " staff_cd = '".$emp_cd."' AND ";
$sql .= " kokyaku_cd= '000000' AND ";
$sql .= " sagyo_type='0' AND ";
}elseif($type == "syoukai"){
//日々紹介
$sql .= " ,kokyaku_cd ";
$sql .= " FROM ";
$sql .= " tbl_staff_gensen ";
$sql .= " WHERE ";
$sql .= " staff_cd = '".$emp_cd."' AND ";
$sql .= " sagyo_type ='1' AND ";
$sql .= " kokyaku_cd <> '000000' AND ";
$sql .= " pay_nen is not null AND ";
}
if(1 <= date("n",time()) && date("n",time()) <=6){
//処理日前年と処理日当年
$sql .= " pay_nen in (to_char(now(),'yyyy'),to_char(now() + '-1 year','yyyy')) ";
}else if(7 <= date("n",time()) && date("n",time()) <=12){
//処理日当年のみ
$sql .= " pay_nen in (to_char(now(),'yyyy')) ";
}
$sql .= " ORDER BY ";
$sql .= " pay_nen desc ";
$sql .= " ,kokyaku_cd ASC ";
$result=pg_query($sql);
$i = 0;
$test_day = "";
$pay_nen = array();
if($type == "haken"){
//派遣
while($row=pg_fetch_assoc($result)){
$pay_nen[$i] = $row['pay_nen'];
$i++;
}
}elseif($type == "syoukai"){
//日々紹介
while($row=pg_fetch_assoc($result)){
if($test_day == $row['pay_nen']){
$pay_nen[$row['pay_nen']] .= ",".$row['kokyaku_cd'];
}else{
$pay_nen[$row['pay_nen']] = $row['kokyaku_cd'];
}
$test_day = $row['pay_nen'];
}
}
return $pay_nen;
}

这样的显示如下

品牌女装
连衣裙
旗袍
精品男装
燕尾服

PHP 实现无限极栏目分类的更多相关文章

  1. Think PHP递归重新排序无限极子分类数组(递归无限极分类)

    Think PHP递归重新排序无限极子分类数组 // 递归重新排序无限极子分类数组 function recursive($array,$pid=0,$level=0){ $arr = array() ...

  2. 夺命雷公狗ThinkPHP项目之----企业网站8之栏目的添加完善(无限极分类的完成)

    我们刚才只是完成了添加的一部分,但是我们的上级分类也不能永远都是只有一个死的嘛,所以我们需要对她进行修改: 我们先将add方法里面的数据查出来再说: 然后在模板页进行遍历: 展示效果如下所示: 虽然是 ...

  3. 谈一次php无限极分类的案例

    作者:白狼 出处:http://www.manks.top/php_tree_deep.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...

  4. PHP无限极分类的几种方法

    导读:项目开发,经常栏目要做到无限极分类,几种方法PHP无限极分类的几种方法 复制代码 代码如下:namespace Util;class Category{static public functio ...

  5. php不使用递归实现无限极分类

    无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...

  6. php无限极分类以及递归(thinkphp)

    php无限极分类: 无限极分类重点在于表的设计: 1在model中: class CatModel extends Model{ protected $cat = array(); public fu ...

  7. js实现无限极分类

    转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 因为要实现部门通讯录,后台传来的数据是直接从数据库里拿的部门表,所以没有层级分类,只有parentId表示从属关系,所以分类的事情就交给我来 ...

  8. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

  9. PHP无限极分类

      当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究. 到网上一搜php无限极分类,很多,但好多都是一个,并且,写的很乱, ...

随机推荐

  1. Ruby自学笔记(六)— 循环

    循环结构在编程语言中是不可或缺的,所以Ruby中的循环也有其自定义的规则. 而我们关注循环结构,要知道两个因素:1) 循环的条件:2) 循环执行的内容 Ruby有一些方式来实现循环结构体: 1. ti ...

  2. 简明解释算法中的大O符号

    伯乐在线导读:2009年1月28日Arec Barrwin在StackOverflow上提问,“有没有关于大O符号(Big O notation)的简单解释?尽量别用那么正式的定义,用尽可能简单的数学 ...

  3. Web NFC API

    W3C Editor's Draft 29 December 2014 This version: http://www.w3.org/2012/nfc/web-api/ Latest publish ...

  4. UIPickerView 地区解析 -- 全国省、市、区 plist 解析 -- 读取UIPickerView 当前显示内容

    一个简单的plist 解析过程,借助UIPickerView 实现了手选全国的 省市区 方法, 源码中有详细注释:长句自己可以拆开看,最好的方法是,拆开,并打印,查看每一步打印的结果,结合Plist文 ...

  5. Struts2的注解功能

    我们知道通常情况下,Struts2是通过struts.xml配置的.但是随着系统规模的加大我们需要配置的文件会比较大,虽然我们可以根据不同的系统功能将不同模块的配置文件单独书写,然后通过<inc ...

  6. 【HDOJ】1987 Decoding

    简单搜索. /* hdoj 1987 */ #include <iostream> #include <cstdio> #include <cstring> #in ...

  7. 斜率优化(CDQ分治,Splay平衡树):BZOJ 1492: [NOI2007]货币兑换Cash

    Description Input 第一行两个正整数N.S,分别表示小Y 能预知的天数以及初始时拥有的钱数. 接下来N 行,第K 行三个实数AK.BK.RateK,意义如题目中所述 Output 只有 ...

  8. 后缀数组:HDU1043 Longest Common Substring

    Longest Common Substring Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  9. 不允许从数据类型 nvarchar 到 varbinary 的隐式转换

    一:错误截图 二:解决 数据库里面的数据类型错了,应该是varchar,而我选了varbinary.太粗心了!

  10. 高效算法——C 分饼

    My birthday is coming up and traditionally I’m serving pie. Not just one pie, no, I have a number N ...