溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

無線分類新寫法,是不是很吊@!

發(fā)布時間:2020-07-29 08:09:24 來源:網(wǎng)絡 閱讀:527 作者:woaiyiwa01 欄目:web開發(fā)
<?php
/**
 * ***************************************************************
 * 商品分類 2016年04月26日18:42:22
 * ***************************************************************
 * @param
 * @return void
 * @author 王迪<2880707519@qq.com>
 * @license
 * @Copyright (c) 2009-2016 http://www.lvmaque.com All rights reserved.
 */
class Model_Shop_Class{

    protected  $_table_name = 'shop_goods_class';
    protected  $_primary_key= 'gc_id';

    /**
     * ***************************************************************
     * 獲得排列好的分類信息 2016年04月26日18:43:22
     * ***************************************************************
     * @param
     * @return void
     * @author 王迪<2880707519@qq.com>
     * @license
     * @Copyright (c) 2009-2016 http://www.lvmaque.com All rights reserved.
     */
    public static function getList(){
        $parent_0   =  "select gc_id,gc_parent_id from sline_shop_goods_class where gc_parent_id=0";
        $list       =  DB::query(Kohana_Database::SELECT,$parent_0)->execute()->as_array();
        $parentArray=array();
        $parentArray[0]=$list;
        $parentArray['findIds']=$list;

        self::getChild($parentArray);
        return $parentArray;
    }


    //查找子集
    public static function getChild(&$parent){
        //id的數(shù)組
        $idArray = Kohana_Util::only_array($parent['findIds'],'gc_id');

        //id連接城字符串
        $idString = implode(',',$idArray);

        $child = "select gc_id,gc_parent_id from sline_shop_goods_class where gc_parent_id in ({$idString})";
        $childRes = DB::query(Kohana_Database::SELECT,$child)->execute()->as_array();

        if(count($childRes)<1){
            return;
        }

        $parent['findIds']=$childRes;

        //按parent_id把數(shù)組存儲起來
        foreach($childRes as $v){
            $parent[$v['gc_parent_id']][]=$v;
        }

        self::getChild($parent);
    }
}

這么做查數(shù)據(jù)庫的效率會比較高,是一層一層的往下查的

找子集的時候就從parent_id等于零開始查找,

然后循環(huán)0鍵值對應的數(shù)組,

再找里面的parent_id對應的鍵值是否存在,如果存在就把里面的繼續(xù)遍歷,如果不存在就結(jié)束遞歸!

O(∩_∩)O哈哈哈~!,我是不是很6,絕對原創(chuàng),親!轉(zhuǎn)載只要998!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI