朋友我被困住了,需要你的帮助!
当使用MySql制作动态菜单时,我使用查询 SELECT * FROM pages WHERE ParentID = 0 和子菜单 WHERE ParentID ='$ PageID' ...但是这种方法在使用MySqli时似乎不起作用。我看到的一个主要原因是Query应该写在函数之外,因为在函数内它很简单不起作用..不知道为什么。无论如何这里是我的代码,我希望你的朋友可以帮助我解决问题
function Get_menu() {
$menuQuery = $mysql->query("SELECT PageTitle, PageID, ParentID FROM pages WHERE ParentID = 0");
while (($row = $menuQuery->fetch_assoc()) !== null) {
echo '<li class="menu-item"><a href="page.php?pageID=' . $row["PageID"] . '">' . $row["PageTitle"] . '</a>';
$PageID = $row["PageID"];
$SubmenuQuery = $mysql->query("SELECT PageTitle, PageID, ParentID FROM pages WHERE ParentID = '$PageID'");
if($SubmenuQuery->num_rows > 0) {
echo '<ul class="sub-menu">';
while (($rowx = $SubmenuQuery->fetch_assoc()) !== null) {
echo '<li class="menu-item"><a href="page.php?pageID=' . $rowx["PageID"] . '">' . $rowx["PageTitle"] . '</a></li>';
}
echo '</ul>';
}
echo '</li>';
}
}
我尝试在函数外部编写查询但是子菜单的查询不起作用,因为它假设$ PageID为0。 亲爱的朋友,如果你能帮助我,那将是一件大事 谢谢
答案 0 :(得分:0)
$mysql
未在函数范围内定义。您应该将其作为参数传递:
function Get_menu($mysql)
答案 1 :(得分:0)
尝试分析一下:
$query =
"SELECT PageTitle, PageID, ParentID
FROM
pages subs
INNER JOIN
pages cats
ON
subs.ParentID = cats.PageId
GROUP BY PageID" ;
或者你的数据库将被pwn3d强调,如果你打算逐一取类别。