簡體   English   中英

將mysql數據庫結果插入php中的多維數組

[英]Inserting mysql database results into a multidimensional array in php

您好,我試圖建立一個動態導航菜單,類似於wordpress的工作方式,所以我認為我的問題是我的腳本僅從數據庫中檢索1個值。 我在這里試圖完成的工作是獲取數據庫中的所有菜單數據並將它們存儲在多維數組中

我的數據庫結構如下所示:

在此處輸入圖片說明

這是我如何檢索數據

global $db;
    $sql = "SELECT * FROM lm_menu";
    $res = $db->prepare($sql);
    $res->execute();
    $result = $res->fetchAll();
    foreach ($result as $opt_h):
              $nav = array(
        array(
            'id' => $opt_h['id'],
            'name' => $opt_h['name'],
            'link' => $opt_h['ref'],
            'parent' => $opt_h['parent']
        )
    );
    endforeach;

這是讀取數組的函數

    function GenerateMenu($nav)
{
    $html = '';
    $html = '<ul class="nav navbar-nav">';
    foreach($nav as $page)
    {
        $html .= '<li>';
        $html .= '<a href="' . $page['link'] . '">' . $page['name'] . '</a>';
        $html .= GenerateNavHTML($page['sub']);
        $html .= '</li>';
    }
    $html .='</ul>';
    return $html;
}

我嘗試從Google尋找答案,但沒有發現我看到SO的文章 ,但是我沒有嘗試過,因為在那篇文章中它使用了mysql_ *函數,而我使用了PDO函數。 請幫助我這個家伙

問題是每次迭代, $nav = array(被覆蓋。

還可以返回$nav = $res->fetchAll(PDO::FETCH_ASSOC); 無需循環和重新分配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM