gpt4 book ai didi

php - 如何从表格中显示相关任务列表?

转载 作者:行者123 更新时间:2023-11-29 12:14:23 25 4
gpt4 key购买 nike

我需要帮助。我的表名为“Tasks”,位于下面

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页,现在我们将显示相关任务编号。 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);

最佳答案

关系数据库不适合处理递归查询。

您可以通过选择 ID 为 48 的第一行,然后递归检查 ParentId != 0 并执行另一个查询(如果是)来完成此操作。类似的东西

$task = getTask(48);
$related_tasks = [];
while( $task['parentID'] != 0) {
$task = getTask( $task['parentId']);
$relatedTasks[] = $task;
}

看看How to create a MySQL hierarchical recursive query .

关于php - 如何从表格中显示相关任务列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com