php - 构建要在 while 循环中外部使用的字符串

标签 php mysql function mysqli

我希望在 mysqli while 循环内构建一个字符串。我有一个页面表,其中包含我的网络应用程序的所有页面,但是这些网址对 seo 友好

我的 table 是这样的

ID | Page Slug | Parent
------------------------    
1  | Accounts  | 0
2  | Customers | 1
3  | Details   | 2

假设我使用页面 id 3 调用下面的函数 WebApp_UOC_Construct_Url(3) ,它将回显一个如下所示的 URL

/accounts/customers/details

这个网址是我希望它传递到我的菜单的方式,所以我知道该功能正在工作,但这只会在页面上回显,我需要它在 href 内返回一个值,所以如果我将回显更改为返回并像这样调用函数

<a hef='" . WebApp_UOC_Construct_Url(3) . "'>Customer Details</a>

我只收到数据库中的最后一个条目,因此网址将如下所示

/details

还有哪些其他可能的方法来创建上述内容

function WebApp_UOC_Construct_Url($page_id)
{
    global $webapp_db;

    $get_URI = mysqli_query($webapp_db,
               "SELECT * FROM wa_sys_navigation WHERE wa_nav_id = '" . $page_id . "' ");

    while($found_URI = mysqli_fetch_array($get_URI))
    {
        WebApp_UOC_Construct_Url($found_URI['wa_nav_parent']);
        echo "/" . $found_URI['wa_nav_slug'];
    }
}

最佳答案

如果仅将 echo 更改为 return,您将仅获得顶级函数调用结果。您需要总结递归调用结果。

示例:

$parent = WebApp_UOC_Construct_Url($found_URI['wa_nav_parent']);
return $parnet . "/" . $found_URI['wa_nav_slug'];

关于php - 构建要在 while 循环中外部使用的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764188/

相关文章:

PHP DOM Parser - 获取两个已知 XPath 之间的所有节点

PHP SQLSRV 在 sqlsrv_fetch_array/sqlsrv_fetch 上有间歇性延迟

mysql - MySQL 中的重复列组合

c++ - 在 C++ 中返回两个创建的数组

javascript - 在多个事件上触发函数

php - 检查空结果(PHP、PDO 和 MySQL)

PHP:从对象中获取数据

php - mysql_select 成功,返回 null

php - MySQL 查询,分组依据,然后按最近分组的条件排序

string - 调用带有特殊前缀/后缀的函数