我需要幫助。我有一個名爲「任務」的表名,下面如何從表中顯示相關任務列表?
SNO Taskname parentid
---------------------
46 Task-1 0
47 Task-2 46
48 Task-3 47
49 Task-4 46
50 task-5 47
51 task-6 50
例如,我在任務48頁,我們現在會顯示相關的任務沒有。所以,產量將是46,47,49,50,51
。
我嘗試下面的代碼,但它不工作:
function getTask($task_id) {
$rs=mysql_query("select task_id,taskname,p_id from task where task_id='".$task_id."'");
$rs_req=mysql_fetch_array($rs) or die(mysql_error());
$reqt=$rs_req['p_id'];
return $reqt;
}
$task = getTask($task_id);
$pid = $task;
$related_tasks = [];
while ($pid != 0) {
$pid = getTask($pid);
$relatedTasks[] = $pid;
}
print_r($relatedTasks);
它基本上是一個遞歸查詢。這可能是一個很好的起點:http://stackoverflow.com/q/5291054 –
可能重複[如何創建一個MySQL分層遞歸查詢](http://stackoverflow.com/questions/20215744/how-to- create-a-mysql-hierarchical-recursive-query) – AdamMc331