2013-06-25 2 views
0

상위 항목과 하위 항목이있는 메뉴가 있습니다. 모든 항목, 상위 항목 및 하위 항목은 데이터베이스에 고유 한 "id"및 "상위 항목"을 갖습니다. 상위 항목은 모두 "parentid"값이 "0"이고 하위 항목은 해당 항목의 "id"와 동일한 "parentid"를가집니다 ..MySQLi - 상위 메뉴 항목 id와 같은 상위 항목 인 경우 db에서 하위 메뉴 항목 선택

db에서 메뉴를 선택할 수있는 방법이 있습니까? 페이지에서 이렇게 보이게하려면?

맨 위의 항목 1 - 내 자신의 하위 항목 1, 나만의 하위 항목이, 내 자신의 하위 항목 3

맨 위의 항목 2 - 나만의 하위 항목 1, 나만의 하위 항목이, 내 자신의 하위 항목 3

맨 위의 항목 3 - 나만의 하위 항목 1, 나만의 하위 항목 2, 내 자신의 하위 항목 3

등 내가 데이터베이스에 새로운 오전

, 나는 모든 노력을하지만 난 얻을 수 없다 나는 무엇을 원하니 .. 어떤 도움을 주셔서 감사합니다!

+1

후 당신의 노력 코드입니다. – Rikesh

+0

메뉴의 깊이는 어느 정도입니까? 하위 항목에 하위 항목이 있습니까? – Jim

+0

아니요, 그냥 Top> Sub –

답변

1

상위 메뉴와 하위 항목간에 상위 하위 관계가 있어야하므로 하위 항목 표에 추가 열 (예 : main_menu_id)을 만들어야합니다.이 경우 id을 주 메뉴에서 해당 열의 하위 메뉴 항목으로 이동하십시오.

나중에 PHP를 사용하여 중첩 된 while 루프가 필요하므로 이에 따라 레코드를 가져와야합니다.

/* Loop Top Items Starts 
     Loop Inner Items (Fetch Sub Items Having ID Of The Main Item) 
    Loop Top Items Ends 
*/ 

1 쿼리

SELECT * FROM main_menu; 

2 쿼리 (중첩 루프 동안)

SELECT * FROM sub_menu WHERE main_menu_id = $looped_id; 
+1

mysql의 계층 적 데이터에 대한 훌륭한 참고 자료 : http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ – Jeroen

+0

@Jeroen 제공 해줘서 고맙지 만 OP 1 레벨에 불과하다고 명시된이 대답은 그의 필요를 충족시킬 것입니다 :) –

+0

고마워, 적어도 지금은 몇 가지 아이디어가있어 :) –

관련 문제