0

拜托,我需要这方面的帮助。我想构建一个多级菜单,所以我想在 smarty 模板中使用 foreach 循环遍历关联数组。首先,我有这个 mysql 输出: 在此处输入图像描述

现在我尝试从中获取一个关联数组,所以我尝试 fetchAll(PDO::FETCH_ASSOC)了,但由于列名相同,它为我提供了右列的值:

Array ( [0] => Array ( [id] => 7 [name] => Beta 1-3 glucan ) [1] => Array ( [id] => 8 [name] => Okinawa Fucoidan ) 

如果您有任何想法如何处理此表以获得多维菜单,请告诉我。

谢谢你。

4

2 回答 2

1

使用 FETCH_NUM 或在查询中创建别名。

于 2013-08-26T10:43:25.953 回答
0

我假设你有JOIN表,并且在这两个表中都有idname(或者你加入同一个表)。您需要做的是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_idlevel1_namelevel2_idlevel2_name)。

于 2013-08-26T10:46:53.023 回答