왼쪽 메뉴에 카테고리 전체출력하기 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

왼쪽 메뉴에 카테고리 전체출력하기 질문입니다. 정보

왼쪽 메뉴에 카테고리 전체출력하기 질문입니다.

본문

참고로 초보입니다.
그냥저냥 초등학교때 배운 베이직을 기초로 대충 이해만하면서 보고있습니다..;;

이 메뉴를 올리신 큐티와이님께 질문드렸더니 답을 안주셔서 질문게시판에 올립니다.

현재 메뉴는 클릭시 해당 게시판의 카테고리만 출력이 됩니다.

제가 원하는 메뉴는 처음부터 모든 게시판의 카테고리가 출력이 되어있는 펼쳐진 메뉴거든요..

이론상으로는 카테고리메뉴 조건문에서 일치할때만 보여주는게 아닌 처음부터 다 뽑아서 한번에 쫙 뿌려주면 좋겠는데, 그건 이론이고 제 실력은 현실이네요..ㅋ

고수님들의 도움이 절실히 필요합니다. 저 밥먹고 살게 좀 도와주세요..ㅜ_ㅜ 포인트 필요하시면 있는거 다 드릴께요..ㅋ

<?
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));
$sql = " select bo_table, bo_subject, bo_category_list from $g4[board_table] where (bo_list_level <= $member[mb_level]) and gr_id = '$gr_id' and bo_use_search = '1' order by bo_order_search"; // 검색순서대로 정렬
//$sql = " select bo_table, bo_subject, bo_category_list from $g4[board_table] where (bo_list_level <= $member[mb_level]) and gr_id = '$gr_id' order by bo_order_search"; // 검색순서대로 정렬
//$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));
//$sql = " select bo_table, bo_subject from $g4[board_table] where (bo_list_level <= $member[mb_level]) and gr_id = '$gr_id' order by bo_1"; //bo_1 여분필드 입력값 순서로 정렬
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'";
$result2 = sql_query($sql2);
$total_count = mysql_num_rows($result2);

if ($row[bo_table] == $bo_table) {
$row[bo_menu]= "<img src='$g4[path]/include/leftmenu/sub_on.gif' align='absmiddle'>&nbsp;<a href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]' class=bg_menu2><b>$row[bo_subject]</b></a>";
}
else {
$row[bo_menu]= "<img src='$g4[path]/include/leftmenu/sub_off.gif' align='absmiddle'>&nbsp;<a href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]' class=menu_on>$row[bo_subject]</a> ";
}
echo "<tr><td align='left' colspan=2 class=bg_menu2> $row[bo_menu]</td></tr>"; // 그룹메뉴
//echo "<tr><td align='left' colspan=2 style='padding-top:5px;padding-left:10px;' class=new1 background=$g4[path]/include/leftmenu/bg.gif> $row[bo_menu]</td></tr>"; // 그룹메뉴
      echo "<tr><td colspan=\"2\" height=\"3\" bgcolor=\"#ffffff\" ></td></tr>";

//카테고리 메뉴 시작
if ($row[bo_table] == $bo_table && $board[bo_category_list] ) {
$ca_menu = explode("|",$board[bo_category_list]);

for ($i=0; $i<count($ca_menu); $i++)
{
  //if ($i > 0)
  //  {
  //    echo "<tr><td height=\"1\" bgcolor=\"#e1e1e1\" ></td></tr>";
  //  }
if ($sca==$ca_menu[$i]) {
$ca_menu[$i] = "<tr><td align='left' width=31 style='padding-left:15px;'><img src='$g4[path]/include/leftmenu/com_sub2.gif'></td><td align='left'  width=134 class=new>$ca_menu[$i]</td></tr>";
}
else {
$ca_menu[$i] = "<tr><td align='left' width=31 style='padding-left:15px;'><img src='$g4[path]/include/leftmenu/com_sub.gif'></td><td align='left'  width=134 class=new><a href=\"{$g4[bbs_path]}/board.php?bo_table=$bo_table&sca=".urlencode($ca_menu[$i])."\">&nbsp;$ca_menu[$i]</a></td></tr>";
}

echo $ca_menu[$i];
}

// 카테고리 메뉴 끝
}
}
?>

댓글 전체

아래 내용은 테이블명, 카테고리명 출력하는 방법만 예로 들었습니다..
간단한 샘플용으로 위의 코드 일부를 떠서 작성했습니다.
간단한 샘플용이니  자유로이 활용해 필요한 형태로 적용하세요.

출력형태는 아래와 같고 카테고리가 있으면 출력하고 없으면 게시판명만 출력됩니다.
게시판명 1
  카테고리 1
  카테고리 2
  카테고리 3
게시판명 2
  카테고리 1
  카테고리 2
  카테고리 3


//이부분에 조건은 알아서 처리하세요. 또한 html 코드도 원하는 형태로 적용하시고요
$sql = " select bo_table, bo_subject, bo_category_list from $g4[board_table]";    <<<  테이블 정보를 가져옵니다
$result = sql_query($sql);
echo "<table>";
for ($i=0; $row=sql_fetch_array($result); $i++) 
{
    //게시판 이름을 출력합니다.
    echo "<tr><td align='left' width=31><img src='$g4[path]/include/leftmenu/com_sub.gif'></td><td align='left'  width=134 class=new>$row[bo_table]</td></tr>";

    //카테고리 등록된 내용이 있다면 출력합니다.
    if ($row[bo_category_list])
    {
        $ca_menu = explode("|",$row[bo_category_list]);
        for ($j=0; $j<count($ca_menu); $j++)
        {
          echo "<tr><td align='left' width=31 style='padding-left:15px;'><img src='$g4[path]/include/leftmenu/com_sub.gif'></td><td align='left'  width=134 class=new><a href=\"{$g4[bbs_path]}/board.php?bo_table=$bo_table&sca=".urlencode($ca_menu[$j])."\">&nbsp;$ca_menu[$j]</a></td></tr>";
        }
    }
}
echo "</table>";
아..약간 문제가 있네요.

모든 카테고리 링크가 현재 게시판에 연결됩니다.
게시판1
--카테고리1_1
--카테고리1_2
게시판2
--카테고리2_1
--카테고리2_2
이렇게 있으면 게시판1에 들어간 후에 바로 게시판2의 카테고리2_1로는 못들어간다는 얘기죠.
ㅎㅎ 응용이 안되시나보네요
위 질문은 $ca_menu 에 루프의 마지막 값($row[bo_category_list]) 이 저장되기 때문입니다.
처리 방법은 여러가지로 할 수 있겠으나 $ca_menu 뒤에 [$i] 를 모두 붙여보세요

        $ca_menu[$i] = explode("|",$row[bo_category_list]);
        for ($j=0; $j<count($ca_menu[$i]); $j++)
        {
          echo "<tr><td align='left' width=31 style='padding-left:15px;'><img src='$g4[path]/include/leftmenu/com_sub.gif'></td><td align='left'  width=134 class=new><a href=\"{$g4[bbs_path]}/board.php?bo_table=$bo_table&sca=".urlencode($ca_menu[$i][$j])."\">&nbsp;$ca_menu[$i][$j]</a></td></tr>";
아..답변 감사합니다. 멋지군님께서 알려주신대로 적용했더니 전부다 Array[0],Array[1]이런 식으로 나오네요..; 링크는 그대로구요..;; 아고..번거롭게 해드려 죄송해요. 체계적으로 배운게 아니라 그냥 눈동냥으로 배운거라 응용이 안되요..ㅜ_ㅜ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT