請幫我解決這個問題。 我想要構建一個多級菜單,所以我想通過一個關聯數組,在smarty模板中使用foreach循環進行迭代。 首先,我有這樣的MySQL輸出: 如何從關聯數組構建多級菜單。
現在,我嘗試從它那裏得到一個關聯數組,所以我試圖 fetchAll(PDO::FETCH_ASSOC)
,但由於列名是一樣的,它給了我從右邊列的值:
Array ([0] => Array ([id] => 7 [name] => Beta 1-3 glucan) [1] => Array ([id] => 8 [name] => Okinawa Fucoidan)
請如果您有任何想法如何處理此表以獲得多維菜單,請告訴我。
謝謝。
我假設你有'JOIN'表,並且在它們中都有'id'和'name'(或者你加入了同一張表)。你需要做的是在你的查詢中使用'AS',例如:而不是'SELECT * FROM table JOIN表ON ...'寫'SELECT t1.id AS level1_id,t1.name AS level1_name,t2。 id AS level2_id,t2.name AS level2_name FROM table t1 JOIN表t2 ...'。該解決方案將爲您提供每行4個不同的字段名稱(level1_id,level1_name,level2_id,level2_name) –