请帮我解决这个问题。 我想要构建一个多级菜单,所以我想通过一个关联数组,在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) –