无限分类1

连接上一个 无限分类

一、新建一个商品表

cid对应上面的ID

二、

//获取所有的数据
$pdo = new PDO("mysql:host=localhost;dbname=lamp108",‘root‘,‘‘);
$pdo->query("set names gbk");
$stmt = $pdo->query("select * from cate2");
$data = $stmt->fetchAll(2);

function getcate4($data,$pid = 0,$level=0){
$level++;
$cateArr = array();
//遍历数据
foreach($data as $v){
    if($v[‘pid‘] == $pid){            //把当前父id下的分类存到$cateArr中
        $v[‘level‘] = $level;        //把深度(层数)一起存到$cateArr中
        $cateArr[] = $v;

        //查看这个分类 是否有 子分类  如果有继续加入到 $cateArr
    $cateArr = array_merge($cateArr,getcate4($data,$v[‘id‘],$level));
    }
}
//返回当前的分类数据
return $cateArr;
}

$getArr = getcate4($data,8);
foreach($getArr as $v){
    //echo str_repeat(‘|&nbsp;‘,$v[‘level‘]).‘|-‘.$v[‘name‘].‘<br />‘;
    echo $v[‘id‘],‘,‘; //输出子类的ID 通过这些子类的ID  拿到goods表中去查询商品
}

类别表 相当于首页的左边位置,goods相当于右边

时间: 2024-10-31 21:34:01

无限分类1的相关文章

php不用递归完成无限分类,从表设计入手完整演示过程

无限分类是什么就不废话了,可以用递归实现,但是递归从数据库取东西用递归效率偏低,如果从表设计入手,就很容易做到网站导航的实现,下面是某论坛导航,如下图 网上无限分类大多不全面,今天我会从设计表开始, 首先我们先做视图界面, <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>白超华-博客园</title> &

无限分类树操作

获取相应分类id的分类树: public static function getCategoryTree($id){ //$model=M('category'); if($id>0){ $obj=self::selectTable('category',array('id'=>$id),true);//$model->where(array('id'=>$id))->find(); if(!is_null($obj)){ $childList=self::selectTab

php基于左右值排序的无限分类算法

PHP无限分类[左右值]算法 <?php /** * 基于左右值排序的无限分类算法 * 数据库结果为 CREATE TABLE om_catagory ( CatagoryID int(10) unsigned NOT NULL auto_increment, Name varchar(50) default '', Lft int(10) unsigned NOT NULL default '0', Rgt int(10) unsigned NOT NULL default '0', PRIM

递归无限分类笔记

最近项目都上线了每天巩固一下php知识,下面是关于递归无限分类的比较供大家参考! 数据库一个表就可以了,增加一个parendid字段 也就是子级分类 ,排序大家也可以加一下字段. CREATE TABLE `category` (   `id` int(11) NOT NULL,   `name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,   `sort_order` int(11) DEFAULT NULL,   `parendid` int(

深度实现session【包括session入库、session机制和session和cookie的使用方法,完善会话机制(在分布式机器中也能使用)】、无限分类的实现

1.session的注意点:@session_start();//这个配置需要注意,session开启中会有影响,所以使用错误抑制符进行限制[并且使用php.ini对session进行自动开启] session_start()前的输出问题:[session信息本身会增加到http头信息,也就是http主体不能在头前]对php.ini中的输出缓存进行配置,out_buffer的配置[注意:开启之后能够保证输出内容在脚本中缓存] [注意](1)脚本中session变量的键只能是字符串类型的[$_SE

PHP无限分类树算法相关

一.找儿子 1.引用算法找儿子 /**  * 创建子节点树形数组  * 参数  * $ar 数组,邻接列表方式组织的数据  * $id 数组中作为主键的下标或关联键名  * $pid 数组中作为父键的下标或关联键名  * 返回 多维数组  **/ function find_child($ar, $id='id', $pid='pid') {     foreach($ar as $v) $t[$v[$id]] = $v;     foreach ($t as $k => $item){    

初学递归,接触无限分类,小小的尝试

今日学习的是无限循环,这与递归有关.其实我自己还不是完全熟悉和上手,还需要琢磨琢磨. 初步学习递归,算是无限分类的一个小练习. 表:cate id int auto 自动递增 pid int 0为最大的分类 catename varchar 分类名称 读取数据库的cate表分类如下: //分类练习 include '../include.php'; function getList($pid=0,&$result=array(),$spac=0) { $spac = $spac + 4; $sq

数据库结果为 基于左右值排序的无限分类算法

<?php /**     * 基于左右值排序的无限分类算法     * 数据库结果为 CREATE TABLE om_catagory (      CatagoryID int(10) unsigned NOT NULL auto_increment,     Name varchar(50) default '',      Lft int(10) unsigned NOT NULL default '0',      Rgt int(10) unsigned NOT NULL defau

无限分类的详细做法———————————— 重点————————————

1 ----------------menu.php------------------------- 2 <h2>无限分类管理</h2> 3 <a href="index.php">浏览分类信息</a> 4 <a href="add.php">添加分类信息</a> 5 <a href="select.php">下拉菜单框浏览分类信息</a> 6 &l