head.php에 있는 메뉴 불러오기 부분입니다.
Copy
<nav id="gnb"> <h2>메인메뉴</h2> <ul id="gnb_1dul"> <?php $sql = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '2' order by me_order, me_id "; $result = sql_query($sql, false); $gnb_zindex = 999; // gnb_1dli z-index 값 설정용 for ($i=0; $row=sql_fetch_array($result); $i++) { ?> <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>"> <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a> <?php $sql2 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '4' and substring(me_code, 1, 2) = '{$row['me_code']}' order by me_order, me_id "; $result2 = sql_query($sql2); for ($k=0; $row2=sql_fetch_array($result2); $k++) { if($k == 0) echo '<ul class="gnb_2dul">'.PHP_EOL; ?> <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li> <?php } if($k > 0) echo '</ul>'.PHP_EOL; ?> </li> <?php } if ($i == 0) { ?> <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li> <?php } ?> </ul> </nav>
이부분을 PHP array로 만들어서 JSON으로 넘겨 줄려고 합니다.
Copy
{ { "me_id": "1", "me_code": "10", "me_name": "메뉴1", }, { "me_id": "2", "me_code": "20", "me_name": "메뉴2", }, { "me_id": "3", "me_code": "30", "me_name": "메뉴3", }, { "me_id": "4", "me_code": "40", "me_name": "게시판", "submenu": [ { "me_id": "5", "me_code": "4010", "me_name": "공지사항", }, { "me_id": "6", "me_code": "4020", "me_name": "홍보센터", } ] }}
위와 같은 식으로 넘어가면 Javascript에서 핸들하기가 편할까요?
만약에 맞다고 하면 PHP 식을 어떻게 하면 될까요?
Javascript에서 다루기 더 편한 방법이 있다면, 그 방법에 대한 PHP는 어떻게 해야 되나요?
답변 2개
2015-08-09 (일) 13:42:45
제가 몰랐던 것이 하나 더 보입니다. 흐흐.. 신난다 ^^
감사합니다!!
2015-08-09 (일) 13:35:56
아래와 같이 출력되도록 일단 만들어 봤습니다. 앱쪽에서 핸들해 가면서 조금씩 수정해 가면 될것 같습니다.
Copy
[ {
"me_id": "13",
"me_code": "10",
"me_name": "소모임",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=somo",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1",
"submenus": [
{
"me_id": "14",
"me_code": "1010",
"me_name": "해외사용자",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=so_global",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
},
{
"me_id": "15",
"me_code": "1020",
"me_name": "앱개발",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=so_app",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
}
]
},
{
"me_id": "16",
"me_code": "20",
"me_name": "메뉴2",
"me_link": "#",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
},
{
"me_id": "17",
"me_code": "30",
"me_name": "메뉴3",
"me_link": "#",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
},
{
"me_id": "18",
"me_code": "40",
"me_name": "게시판",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=notice",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1",
"submenus": [
{
"me_id": "19",
"me_code": "4010",
"me_name": "공지사항",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=notice",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
},
{
"me_id": "20",
"me_code": "4020",
"me_name": "홍보센터",
"me_link": "http:\/\/localhost\/gb51\/bbs\/board.php?bo_table=gallery",
"me_target": "self",
"me_order": "0",
"me_use": "1",
"me_mobile_use": "1"
}
]
} ]
답변을 작성하려면 로그인이 필요합니다.