gpt4 book ai didi

PHP子论坛内子论坛的树形遍历

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

我已经开发自己的论坛大约一周了,我几乎完成了所有代码,但是,我陷入了一个我无法解决的问题。

嗯,简单地说我有子论坛,可以在任意数量的其他子论坛中。

我如何使用 PHP 动态创建到任何这些子论坛的路径。

创建路径后,我将在 href 和其他内容中使用它。

我猜想我需要根据 ID 列和另一列来遍历数据库,该列将一个子论坛链接到另一个子论坛。

假设我的数据库表如下所示:

ID | Name        | Link |
---+-------------+-------
1 | Forum-One | Top |
2 | Forum-Two | 1 |
3 | Forum-Three | 2 |
4 | Forum-Four | 2 |
5 | Forum-Five | 3 |
6 | Forum-Six | 3 |

我将如何去做这件事 - 或者还有其他必须做的事情吗?

我希望我说得足够清楚,让每个人都能理解。

编辑:

 include("inc/config.php");

function generateBreadcrumb($startingID){

$result = mysql_query("SELECT * FROM temp_table WHERE ID='$startingID'");

while($row = mysql_fetch_array($result))
{
$db_id=$row['ID'];
$db_name=$row['Name'];
}

if($db_id!='Top'){
return generateBreadCrumb($db_id);
} else {
return $db_name;
}
}

$startID='6';
echo generateBreadcrumb($startID);

最佳答案

首先您需要一个终止条件。因此,将您的顶级论坛[链接]设置为空,或“顶部”,或其他。然后,只需使用递归函数将面包屑放在一起即可。

因此,假设您想要将面包屑显示到 Forum-One:Forum-Three:Forum-Six(更广为人知的名称为 Forum-Six)。

示例代码:

 <?php
$yourForumId = 6; // replace this dynamically with your forum;
$breadcrumb = generateBreadcrumb($yourForum);
function generateBreadcrumb($startingForumId){
$sql= "SELECT Name ,link FROM Forums WHERE ID = ".$startingForumId;
//run your $sql however you do to get results
//assuming you get associative arrays back
if($res['link'] != 'top'){
return generateBreadCrumb($res['link']).":".$res['Name'];
} else {
return $res['Name'];
}
}
echo $breadcrumb;
?>

这是递归,如果您是新手,这可能看起来很复杂,但我希望有所帮助!

编辑:这是您的代码以及所需的编辑...

include("inc/config.php");

function generateBreadcrumb($startingID){

$result = mysql_query("SELECT * FROM temp_table WHERE ID='$startingID'");

$row = mysql_fetch_array($result);
$db_id=$row['link'];
$db_name=$row['Name'];

if($db_id!='Top'){
return generateBreadCrumb($db_id).":".$db_name;
} else {
return $db_name;
}
}

$startID='6';
echo generateBreadcrumb($startID);

关于PHP子论坛内子论坛的树形遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766010/

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