php分類列表調用方法,php中函數的分類

本文目錄一覽:

phpcms 類別管理添加的類別在前台怎麼調用啊

看你需要在什麼地方調用類別名稱

如果是在信息列表也的每個信息標題前顯示類別名,需要在模版中讀取類別緩存

{php $TYPE = getcache(‘type_content_’.$siteid,’commons’)}

先在需要顯示類別名的模版中加入上行代碼,讀取類別列表緩存;

然後在需要類別名的標題列表標籤中加上

{$TYPE[$r[typeid]][name]}

例如:

{$TYPE[$r[typeid]][name]} {$r[title]}

注意,如果是自定義SQL查詢標題列表標籤, 必須查詢typid欄位

php無限極分類實現的方法?

初始化的數據

//初始化原始數據(id=編號,name=顯示名稱,pid=父級目錄id,sort=排序順序)$data[1] = array(‘id’=’1′,’name’=’一級目錄A’,’pid’=’0′,’sort’=’1′);

$data[2] = array(‘id’=’2′,’name’=’一級目錄B’,’pid’=’0′,’sort’=’2′);

$data[3] = array(‘id’=’3′,’name’=’一級目錄C’,’pid’=’0′,’sort’=’3′);

$data[4] = array(‘id’=’4′,’name’=’一級目錄D’,’pid’=’0′,’sort’=’4′);

$data[5] = array(‘id’=’5′,’name’=’二級目錄A-1′,’pid’=’1′,’sort’=’1’);

$data[6] = array(‘id’=’6′,’name’=’二級目錄A-2′,’pid’=’1′,’sort’=’2’);

$data[7] = array(‘id’=’7′,’name’=’二級目錄A-3′,’pid’=’1′,’sort’=’3’);

$data[8] = array(‘id’=’8′,’name’=’二級目錄B-1′,’pid’=’2′,’sort’=’1’);

$data[9] = array(‘id’=’9′,’name’=’二級目錄B-2′,’pid’=’2′,’sort’=’2’);

$data[10] = array(‘id’=’10’,’name’=’二級目錄B-3′,’pid’=’2′,’sort’=’3′);

$data[11] = array(‘id’=’11’,’name’=’二級目錄C-1′,’pid’=’3′,’sort’=’2′);

$data[12] = array(‘id’=’12’,’name’=’二級目錄D-1′,’pid’=’4′,’sort’=’1′);

$data[13] = array(‘id’=’13’,’name’=’二級目錄D-2′,’pid’=’4′,’sort’=’2′);

$data[14] = array(‘id’=’14’,’name’=’三級目錄A-2-1′,’pid’=’6′,’sort’=’1′);

$data[15] = array(‘id’=’15’,’name’=’三級目錄A-2-2′,’pid’=’6′,’sort’=’2′);

$data[16] = array(‘id’=’16’,’name’=’三級目錄C-1-1′,’pid’=’11’,’sort’=’1′);

$data[17] = array(‘id’=’17’,’name’=’三級目錄B-2-1′,’pid’=’9′,’sort’=’2′);

顯示樹結構

function printTree($data,$level=0){    foreach($data as $key=$value){        for($i=0;$i=$level;$i++){            echo ’emsp;emsp;’;

        }        echo $value[‘name’];        echo ‘br’;        if(!empty($value[‘children’])){

            printTree($value[‘children’],$level+1);

        }

    }

}

使用遞歸的方式獲取無限極分類數組

function getNodeTree($list,$tree,$pid=0){    foreach($list as $key=$value){        if($pid == $value[‘pid’]){

            $tree[$value[‘id’]]=$value;            unset($list[$key]);

            getNodeTree($list,$tree[$value[‘id’]][‘children’],$value[‘id’]);

        }

    }

}

使用引用-無限極分類

function createNodeTree($list,$tree){    foreach($list as $key=$node){        if(isset($list[$node[‘pid’]])){

            $list[$node[‘pid’]][‘children’][] = $list[$key];

        }else{

            $tree[] = $list[$node[‘id’]];

        }

    }

}

調用

//遞歸-無限極分類調用getNodeTree($data,$tree);

printTree($tree);//使用引用-無限極分類調用createNodeTree($data,$tree);

printTree($tree);

PHPCMS如何調用多個分類欄目的最新文章

有沒有這樣一種需求,當我們使用PHPCMS建立多級站點時,每個大的分類下面又有許多小的分類,如果想要調用第一大分類下面和第二大分類下面的文章同時出來的時候,該怎麼調用呢。如果只是第一大分類和第二大分類,下面沒有包含小的分類的時候,哪么調用就很簡單了,我們直接使用GET就可以調用出來了,使用 PHP 的 SQL 中 in 功能。如下代碼:

123456 {pc:get sql=”SELECT * FROM v9_news WHERE catid in(1,3,5) ORDE R BY id DESC” num=”10″} {loop $data $v} lia href=”{$v[url]}”{$v[title]}/a/li {/loop} {/pc}

上面調用了1,3,5分類的文章,這個是比較容易理解的,如果遇到上面提到的問題,大的分類下面又存在小的分類,那麼利用上面的方法就沒有辦法調出子分類的內容了,所以我們要做的是如果直接分類那麼直接顯示分類ID,如果有小的分類,那麼就顯示所有的子分類ID,最後再把他們用逗號連接起來,同樣可以實現相同的效果,看下面的代碼:

1234567891011121314 ?php $assigncatid=array(23,24,19); $str =array(); foreach($assigncatid as $row){ $str[]=$CATEGORYS[$row][arrchildid]; } $finalcatid= implode(‘,’, $str); ? {pc:get sql=”SELECT * FROM v9_news WHERE catid in($finalcatid) ORD ER BY id DESC” num=”14″} {loop $data $v} lia href=”{$v[url]}”{$v[title]}/a/li {/loop} {/pc}

這裡先了 3 個分類的ID,其中,23,24沒有子分類,而19有許多子分類,$CATEGORYS[$row][arrchildid] 這一句很重要,如果沒有子分類則直接顯示該分類的ID,如果有子分類,就會以1,2,3,4,5這種格式將所有的子分類都顯示出來,數組中有3個值,所以foreach後會形成3個數組,分別是大類23,24,以及19,43,44,其中,43,44均為19大類下面的子分類ID。

把這循環的三組數組賦給一個新的數組,然後在循環外用逗號切割成字元串,拼起來就是所有大類與子類了,如23,24,19,43,44這樣,做到這裡就實現了剛開始提出的問題。

另外一種方法調用代碼如下:

1234 {loop subcat(15) $k $v} {php $subcatid[] = $k;} {/loop} {php $subcatid = implode(‘,’, $subcatid);}

然後在讀取SQL的條件中這樣寫 WHERE catid in($finalcatid)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160867.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 01:16
下一篇 2024-11-21 01:16

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python字元轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智慧等領域廣泛應用。在很多場景下需要將字元串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字元轉列…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29

發表回復

登錄後才能評論