拜托,我需要帮助。 我想构建一个多级菜单,所以我想在smarty模板中使用foreach循环遍历一个关联数组。 首先,我有这个mysql输出:
现在我尝试从中获取一个关联数组,所以我试过了
fetchAll(PDO::FETCH_ASSOC)
,但因为列名相同,所以它给出了右栏中的值:
Array ( [0] => Array ( [id] => 7 [name] => Beta 1-3 glucan ) [1] => Array ( [id] => 8 [name] => Okinawa Fucoidan )
如果您有任何想法如何处理此表以获得多维菜单,请告诉我。
谢谢。
答案 0 :(得分:1)
使用FETCH_NUM或在查询中创建别名。
答案 1 :(得分:0)
我假设您有JOIN
个表,而且两个表都有id
和name
(或者您加入同一个表)。您需要做的是在查询中使用AS
。
例如:
而不是:SELECT * FROM table JOIN table 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 table t2 ON [...]
。
此解决方案会在每行中为您提供4个不同的字段名称(level1_id
,level1_name
,level2_id
,level2_name
)。