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

時間 2021-10-16 10:55:37

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 函式裡面可以有兩個以上的返回值嗎?

判斷是不是函式主要看有沒有函式體,php中使用者定義的典型函式是function 函式名 引數 函式體 基本上,看到function就可以認定為是函式返回值不是必需的。將一系列操作封裝起來也不一定是函式,也可能是迴圈體。所以我認為的php函式判斷的關鍵特徵就是function關鍵字 臨潁生活資訊網 ...

PHP中include 函式使用問題

你好,你可以自己給 get 賦值 get srcr head r logo.gif 路徑問題,你可以吧路徑做成 絕對路徑 php 呼叫include中的函式。結果顯示未定義 就你現在程式來抄看沒有資料襲提交,是會報錯bai的,你可以 accept.php 如果init.php檔案在du zhiinc...

php類中定義了函式怎麼使用它,php類中定義了一個函式,怎麼使用它?

峰迴路轉 php類中定義的函式有幾種,例如 class a 受保護的方法 protected function test2 靜態方法 static function st 私有方法 private function test3 內部訪問 public function use 外部呼叫方法 a ne...