php寫函式 根據子類 id 遞迴查詢頂級父類 id返回

2021-10-16 10:55:46 字數 2891 閱讀 4483

1樓:匿名使用者

/*使用tp5寫的函式,求出父親id,最後再將第一個傳入的父類id和函式的返回值拼接起來,

然後通過查資料庫求出名字,當然自己簡化一下也可以一步求出父類的名字*/

public function getchild($pid)}return $ids;}

2樓:挑款師

你肯定得是兩張表吧 一張是 table1 (id name pid ) 一張是 table 2(pid name)

多表聯查:select table2.name as p_name , pid as p_id from table1 right join table2 on table1.

pid=table2.pid where id=' 輸入你的子類id'

就可以查詢了 ,望採納

3樓:匿名使用者

select * from table where `id` = `pid`

4樓:匿名使用者

你這種表結構叫鄰接表,查詢的方式通過自連線。如

select t1.name as lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4

from tbname as t1

left join tbname as t2 on t2.pid = t1.id

left join tbname as t3 on t3.pid = t2.id

left join tbname as t4 on t4.pid = t3.id

where t1.name = '***x'

這種方法的主要侷限是你需要為每層資料新增一個自連線,隨著層次的增加,自連線

變得越來越複雜,檢索的效能自然而然的也就下降了。當然這種結構在查詢前必須知道該節點所處的層級,否則無法確定自連線的深度。

鄰接表模型的侷限性很大,用純sql實現有一定的難度。不妨考慮其他模型,比如巢狀模型。

巢狀模型的基本結構是樹型結構,sql檢索比鄰接表要方便很多。

關於巢狀模型,phpchina的第一期電子雜誌phper也有過深入**,請參考!

php怎麼實現一張表中子類id歸於父類id

5樓:

現在你的裡面只分了兩個類。其實這個表可以做無限級分類。輸出用遞迴實現。正好我這幾天研究了這個。**寫給你。

$result = mysql_query("select * from tmodule_conf order by moduleid");

//首先我們把各個分類的值儲存在一個二維陣列中,在下面的遞迴函式裡有用。

while($row = mysql_fetch_object($result))

###########普通顯示分類####################

function fenlei($submoduleid=-1,$str){  //$f_id初始化為0,也就是從最大分類開始迴圈.

global $arr;   //宣告$arr為全域性變數才可在函式裡引用。

for($i=0;$i

6樓:匿名使用者

先查出父類,也就是說先把supmoduleid裡面 值為 -1 的按升序全部select出來,再用foreach或者while查詢子類supmoduleid=篩選出來的父類moduleid就可以了。

**如下:

$sql_f = "select * from tmodule_conf where supmoduleid = -1 order by moduleid asc";

$result_f = mysql_query($sql_f);

while($row = mysql_fetch_array($result_f))}

7樓:匿名使用者

先查出父類,也就是說先把supmoduleid全部select出來,再用foreach或者while查詢子supmoduleid=moduleid就可以了。

php如何獲取父類下所有子類id

8樓:一騎當後

今天做專案時

抄遇到php如何獲取父類下所有子類id??,把**分享給大家。

複製****如下:

function getchildrenids ($sort_id)'";$query = $db->query($sql);

$result = $query->result_array();

if ($result)

}return $ids;}

9樓:

通過 get_declared_classes 獲取所有的類,

然後迴圈這個array,再通過 instance_of 檢測是否是你指定類的子類,然後push到一個陣列中.

10樓:筱綠之夏

function recursion($res)//引數為id

return $res;

}echo $pid=recursion($_get['id']);

如何遞迴地獲取陣列中父id的子級

11樓:折柳成萌

今天做專案時遇到php如何獲取父類下所有子類id??,把**分享給大家。 複製****如下:

function getchildrenids ($sort_id) '"; $query = $db->query($sql); $result = $query->result_array(); if ($result) } return $ids;}

php函式問題!PHP,函式問題

1.為了程式可讀性,可重用,將程式分模組進行,於是出現了函式這個概念,php關鍵字肯定不能說成是函式。2.因為應用不同,語言設計者不可能幫你定義好所有函式 那就不用學程式設計了,記住所有函式算了 根據自己的需要,自定自己的函式,這才是自己的東西。每一個程式語言都會有函式,在php中有時需要反覆使用一...

關於php函式的問題,關於PHP函式的一個問題

注意你的自定義函式中有一個遞迴的呼叫。也就是這個函式被呼叫了不止一次。所以和前一段 的輸出不一樣。當n減少到2時,if條件失敗,這時會停止遞迴。望採納,謝謝支援!php的一個函式裡面的if判斷問題 我們先分析一下你的需求,主要是希望通過同一個函式,來執行3種不同的操作,並且能夠判斷出具體執行的是哪一...

php呼叫自定義函式,php自定義函式中怎麼呼叫類中方法

引用符號。不加引用時候,你傳進去的 a被複制了一份,然後你在函式裡面改變 a實際上是改變複製的那個,原來的那個不變,退出函式後 a還是原來那個值。加了引用符號后里面的 a就是外面的 a的引用,修改了函式裡面的 a就等於修改了外面的 a。function 是用來定義函式的,呼叫的時候不用functio...