2013-08-26 2 views
0

제발, 이건 도움이 필요해. 다중 레벨 메뉴를 만들고 싶습니다. 따라서 멋진 템플릿 내부에서 foreach 루프를 사용하여 연관 배열을 반복하고 싶습니다. 먼저,이 MySQL의 출력이 있습니다 enter image description here연관 배열에서 다중 레벨 메뉴를 작성하는 방법.

가 지금은 그것에서 연관 배열을 얻기 위해 노력을, 그래서 나는 fetchAll(PDO::FETCH_ASSOC)을 시도했지만 열 이름이 동일하기 때문에, 그것은 나를 오른쪽 열에서 값 제공 :

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

다차원 메뉴를 얻기 위해이 표를 처리하는 방법에 대한 아이디어가 있으면 알려 주시기 바랍니다.

감사합니다.

+0

나는 당신이'JOIN' 테이블이라고 가정하고 그들 모두에'id'와'name' (또는 당신은 같은 테이블에 가입)을 가지고 있습니다. 당신이해야 할 일은 쿼리에서'AS'를 사용하는 것입니다 : 예를 들면 : SELECT * FROM table JOIN 테이블 ON ...'write'SELECT t1.id AS level1_id, t1.name AS level1_name, t2. ID AS level2_id, t2.name AS level2_name FROM 테이블 t1 JOIN 테이블 t2 ...'. 이 솔루션은 각 행 (level1_id, level1_name, level2_id, level2_name)에 4 개의 다른 필드 이름을 제공합니다. –

답변

1

FETCH_NUM을 사용하거나 조회에서 별명을 작성하십시오.

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 [...].

이 솔루션은 각 행 (level1_id, level1_name, level2_id, level2_name) 당신에게 4 가지 필드 이름을 제공 할 것입니다.