XML을 만드는(파싱?) PHP 질문입니다. 정보
XML을 만드는(파싱?) PHP 질문입니다.
본문
고수님들께 플래시에서 호출할 PHP를 만드는 질문 좀 드릴까 합니다.
아는게 없으니 뭐하나 만드는게 정말 어렵네요^^;
그누보드의 그룹과 테이블을 불러와 XML을 만들고자 합니다.
제가 원하는 XML은 아래와 같습니다.
------------XML시작-----------------
<?xml version="1.0" encoding="EUC-KR"?>
<xmlMenu>
<menu Title1="그룹1" Link="" Target="_self" >
<sub subTitle="테이블 1-1" Link="링크1-1" Target="_self"/>
<sub subTitle="테이블 1-2" Link="링크1-2" Target="_self"/>
</menu>
<menu Title1="그룹2" Link="" Target="_self" >
<sub subTitle="테이블 2-1" Link="링크2-1" Target="_self"/>
<sub subTitle="테이블 2-2" Link="링크2-2" Target="_self"/>
</menu>
<menu Title1="그룹3" Link="" Target="_self" >
<sub subTitle="테이블 3-1" Link="링크3-1" Target="_self"/>
<sub subTitle="테이블 3-2" Link="링크3-2" Target="_self"/>
</menu>
</xmlMenu>
------------------XML끝------------------------------
위와 같은 XML을 만들고자 아래와 같은 소스를 만들었습니다.
그누보드 팁에 소개된 자동메뉴 소스를 짜깁기해서 만든 소스입니다.
-------소스 시작----------------
echo "<?xml version='1.0' encoding=\"{$g4[charset]}\"?>\n
<xmlMenu>\n";
$excgr = "('html', 'banner', 'guest')"; // html , banner , guest 라는 그룹은 제외시킴
$sql = " SELECT a.gr_id, a.gr_subject, a.gr_use_access, a.gr_9, a.gr_10, b.mb_id FROM $g4[group_table] AS a LEFT JOIN $g4[group_member_table] AS b ON a.gr_id = b.gr_id WHERE (b.mb_id = '$member[mb_id]' AND a.gr_use_access = '1' ) OR a.gr_use_access = '0' and a.gr_id not in " . $excgr . " ORDER BY a.gr_1";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){
//group
$gSubject = ($row['gr_id'] == $gr_id)?$row['gr_subject']:$row['gr_subject'];//그룹제목
$gLink = (!empty($row['gr_10']))?$row['gr_10']:$g4['bbs_path'].'/'.'group.php?gr_id=' .$row['gr_id'];//그룹링크
$sqlb = " select bo_subject, bo_table, bo_9, bo_10 from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_order_search";
$resultb = sql_query($sqlb);
for ($j=0; $rowb=sql_fetch_array($resultb); $j++) {
$bSubject = ($rowb['bo_table'] == $bo_table)?$rowb['bo_subject']:$rowb['bo_subject']; //게시판제목
$bLink = (!empty($rowb['bo_10']))?$rowb['bo_10']:$g4['bbs_path'].'/'.'board.php?bo_table=' .$rowb['bo_table'];//게시판링크
//XML 쓰기 시작
echo "<menu Title=\".$gSubject.\" Link=\".$gLink.\" Target=\"_self\" >\n";
echo "<sub subTitle=\".$bSubject.\" Link=\".$bLink.\" Target=\"_self\"/>\n";
echo "</menu>\r\n";
//XML 쓰기 끝
}
}
echo "</xmlMenu>\n";
------------소스 끝------------------
XML이 만들어지긴 하는데....제대로 안만들어지는 것 같습니다.
그룹이름은 제대로 나오지 않고...서브메뉴 이름은 잘 나오는데 지 맘데로 아무대나 나옵니다...-_-
위의 소스를 어떻게 수정해야 될까요.
XML 쓰기 부분은 잘 된 것 같기도 합니다만...
그룹명과 테이블 명을 뽑아 오는 부분이 이상해서요.
조금만 시간내서 도와주시면....정말 감사하겠습니다.
이것 때문에 밤을 꼬박 샜더니..머리가 빙빙...ㅠㅠ
아는게 없으니 뭐하나 만드는게 정말 어렵네요^^;
그누보드의 그룹과 테이블을 불러와 XML을 만들고자 합니다.
제가 원하는 XML은 아래와 같습니다.
------------XML시작-----------------
<?xml version="1.0" encoding="EUC-KR"?>
<xmlMenu>
<menu Title1="그룹1" Link="" Target="_self" >
<sub subTitle="테이블 1-1" Link="링크1-1" Target="_self"/>
<sub subTitle="테이블 1-2" Link="링크1-2" Target="_self"/>
</menu>
<menu Title1="그룹2" Link="" Target="_self" >
<sub subTitle="테이블 2-1" Link="링크2-1" Target="_self"/>
<sub subTitle="테이블 2-2" Link="링크2-2" Target="_self"/>
</menu>
<menu Title1="그룹3" Link="" Target="_self" >
<sub subTitle="테이블 3-1" Link="링크3-1" Target="_self"/>
<sub subTitle="테이블 3-2" Link="링크3-2" Target="_self"/>
</menu>
</xmlMenu>
------------------XML끝------------------------------
위와 같은 XML을 만들고자 아래와 같은 소스를 만들었습니다.
그누보드 팁에 소개된 자동메뉴 소스를 짜깁기해서 만든 소스입니다.
-------소스 시작----------------
echo "<?xml version='1.0' encoding=\"{$g4[charset]}\"?>\n
<xmlMenu>\n";
$excgr = "('html', 'banner', 'guest')"; // html , banner , guest 라는 그룹은 제외시킴
$sql = " SELECT a.gr_id, a.gr_subject, a.gr_use_access, a.gr_9, a.gr_10, b.mb_id FROM $g4[group_table] AS a LEFT JOIN $g4[group_member_table] AS b ON a.gr_id = b.gr_id WHERE (b.mb_id = '$member[mb_id]' AND a.gr_use_access = '1' ) OR a.gr_use_access = '0' and a.gr_id not in " . $excgr . " ORDER BY a.gr_1";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){
//group
$gSubject = ($row['gr_id'] == $gr_id)?$row['gr_subject']:$row['gr_subject'];//그룹제목
$gLink = (!empty($row['gr_10']))?$row['gr_10']:$g4['bbs_path'].'/'.'group.php?gr_id=' .$row['gr_id'];//그룹링크
$sqlb = " select bo_subject, bo_table, bo_9, bo_10 from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_order_search";
$resultb = sql_query($sqlb);
for ($j=0; $rowb=sql_fetch_array($resultb); $j++) {
$bSubject = ($rowb['bo_table'] == $bo_table)?$rowb['bo_subject']:$rowb['bo_subject']; //게시판제목
$bLink = (!empty($rowb['bo_10']))?$rowb['bo_10']:$g4['bbs_path'].'/'.'board.php?bo_table=' .$rowb['bo_table'];//게시판링크
//XML 쓰기 시작
echo "<menu Title=\".$gSubject.\" Link=\".$gLink.\" Target=\"_self\" >\n";
echo "<sub subTitle=\".$bSubject.\" Link=\".$bLink.\" Target=\"_self\"/>\n";
echo "</menu>\r\n";
//XML 쓰기 끝
}
}
echo "</xmlMenu>\n";
------------소스 끝------------------
XML이 만들어지긴 하는데....제대로 안만들어지는 것 같습니다.
그룹이름은 제대로 나오지 않고...서브메뉴 이름은 잘 나오는데 지 맘데로 아무대나 나옵니다...-_-
위의 소스를 어떻게 수정해야 될까요.
XML 쓰기 부분은 잘 된 것 같기도 합니다만...
그룹명과 테이블 명을 뽑아 오는 부분이 이상해서요.
조금만 시간내서 도와주시면....정말 감사하겠습니다.
이것 때문에 밤을 꼬박 샜더니..머리가 빙빙...ㅠㅠ
댓글 전체
제맘대로 어떻게 나올려구 그러시는지요?
제맘대로 나오면 않되는 거지요^^;;;;;;
원하는 XML 파일의 형식대로 나오게 만들려고 합니다.
원하는 XML 파일의 형식대로 나오게 만들려고 합니다.
원한는형식이라니? 순서를 말씀하시는겁니까?아니면??
------------XML시작-----------------
<?xml version="1.0" encoding="EUC-KR"?>
<xmlMenu>
<menu Title1="그룹1" Link="" Target="_self" >
<sub subTitle="테이블 1-1" Link="링크1-1" Target="_self"/>
<sub subTitle="테이블 1-2" Link="링크1-2" Target="_self"/>
</menu>
<menu Title1="그룹2" Link="" Target="_self" >
<sub subTitle="테이블 2-1" Link="링크2-1" Target="_self"/>
<sub subTitle="테이블 2-2" Link="링크2-2" Target="_self"/>
</menu>
<menu Title1="그룹3" Link="" Target="_self" >
<sub subTitle="테이블 3-1" Link="링크3-1" Target="_self"/>
<sub subTitle="테이블 3-2" Link="링크3-2" Target="_self"/>
</menu>
</xmlMenu>
------------------XML끝------------------------------
위의 형식대로 만들려고 합니다
제 질문이 잘 못된건가요? ^^;;;;
<?xml version="1.0" encoding="EUC-KR"?>
<xmlMenu>
<menu Title1="그룹1" Link="" Target="_self" >
<sub subTitle="테이블 1-1" Link="링크1-1" Target="_self"/>
<sub subTitle="테이블 1-2" Link="링크1-2" Target="_self"/>
</menu>
<menu Title1="그룹2" Link="" Target="_self" >
<sub subTitle="테이블 2-1" Link="링크2-1" Target="_self"/>
<sub subTitle="테이블 2-2" Link="링크2-2" Target="_self"/>
</menu>
<menu Title1="그룹3" Link="" Target="_self" >
<sub subTitle="테이블 3-1" Link="링크3-1" Target="_self"/>
<sub subTitle="테이블 3-2" Link="링크3-2" Target="_self"/>
</menu>
</xmlMenu>
------------------XML끝------------------------------
위의 형식대로 만들려고 합니다
제 질문이 잘 못된건가요? ^^;;;;
해결못햇으면 메신저 추가해주세요 볼게요^^
*** 개인정보보호를 위한 이메일주소 노출방지 ***
*** 개인정보보호를 위한 이메일주소 노출방지 ***