使用PHP MYSQL和foreach语句使用多级菜单

使用PHP MYSQL和foreach语句使用多级菜单,php,mysql,for-loop,drop-down-menu,while-loop,Php,Mysql,For Loop,Drop Down Menu,While Loop,我的代码和表格如下所示 桌子 代码 此外,我必须在每个菜单和子菜单开始之前检查是否有值,然后显示子菜单 我该怎么做 换句话说,在开始菜单和子菜单之前,我需要检查值,然后显示。如果是值,则显示子菜单。如果不单独显示主菜单 任何帮助 谢谢, Kimz您正试图将变量$results追加到尚未启动的数组中 添加以下内容: $results = array(); 以上各点: while() { ... } 例如: function getUserMainMenus($get_user_id) {

我的代码和表格如下所示

桌子 代码 此外,我必须在每个菜单和子菜单开始之前检查是否有值,然后显示子菜单

我该怎么做

换句话说,在开始菜单和子菜单之前,我需要检查值,然后显示。如果是值,则显示子菜单。如果不单独显示主菜单

任何帮助

谢谢,
Kimz

您正试图将变量
$results
追加到尚未启动的数组中

添加以下内容:

$results = array();
以上各点:

while() { ... }

例如:

function getUserMainMenus($get_user_id) {
    $get_user_id = intval($get_user_id);
    $rights = getMenuRights($get_user_id);
    $get_main_menu_query = mysql_query("SELECT * FROM menu where m_id IN ($rights) and parent_menu_id='0' order by menu_order");
    $results = array(); // add this here
    while ($row = mysql_fetch_assoc($get_main_menu_query)) {
    $results[] = $row;
    }
    return $results;
    }

您应该将
$results
变量声明为
$results=array()操作。如何在foreach语句之前检查if条件?i mena if values存在显示子菜单else离开i如何在foreach语句之前检查if条件?i菜单如果有值,则显示子菜单,否则保留它。@user3350885每个问题一个问题。将其作为单独的SO问题发布。兄弟,我也这样做了……)请在这里核对一下。
$results = array();
while() { ... }
function getUserMainMenus($get_user_id) {
    $get_user_id = intval($get_user_id);
    $rights = getMenuRights($get_user_id);
    $get_main_menu_query = mysql_query("SELECT * FROM menu where m_id IN ($rights) and parent_menu_id='0' order by menu_order");
    $results = array(); // add this here
    while ($row = mysql_fetch_assoc($get_main_menu_query)) {
    $results[] = $row;
    }
    return $results;
    }