Пожалуйста, мне нужна помощь в этом. Я хочу создать многоуровневое меню, поэтому я хочу итерации через ассоциативный массив с циклом foreach внутри шаблона smarty. Во-первых, у меня есть выход 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 table ON ... 'write' 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 ... '. Это решение даст вам 4 разных имени поля в каждой строке (level1_id, level1_name, level2_id, level2_name) –