我希望在 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/