왼쪽 메뉴에 카테고리 전체출력하기 질문입니다. 정보
왼쪽 메뉴에 카테고리 전체출력하기 질문입니다.관련링크
본문
참고로 초보입니다.
그냥저냥 초등학교때 배운 베이직을 기초로 대충 이해만하면서 보고있습니다..;;
이 메뉴를 올리신 큐티와이님께 질문드렸더니 답을 안주셔서 질문게시판에 올립니다.
현재 메뉴는 클릭시 해당 게시판의 카테고리만 출력이 됩니다.
제가 원하는 메뉴는 처음부터 모든 게시판의 카테고리가 출력이 되어있는 펼쳐진 메뉴거든요..
이론상으로는 카테고리메뉴 조건문에서 일치할때만 보여주는게 아닌 처음부터 다 뽑아서 한번에 쫙 뿌려주면 좋겠는데, 그건 이론이고 제 실력은 현실이네요..ㅋ
고수님들의 도움이 절실히 필요합니다. 저 밥먹고 살게 좀 도와주세요..ㅜ_ㅜ 포인트 필요하시면 있는거 다 드릴께요..ㅋ
<?
$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'> <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'> <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])."\"> $ca_menu[$i]</a></td></tr>";
}
echo $ca_menu[$i];
}
// 카테고리 메뉴 끝
}
}
?>
그냥저냥 초등학교때 배운 베이직을 기초로 대충 이해만하면서 보고있습니다..;;
이 메뉴를 올리신 큐티와이님께 질문드렸더니 답을 안주셔서 질문게시판에 올립니다.
현재 메뉴는 클릭시 해당 게시판의 카테고리만 출력이 됩니다.
제가 원하는 메뉴는 처음부터 모든 게시판의 카테고리가 출력이 되어있는 펼쳐진 메뉴거든요..
이론상으로는 카테고리메뉴 조건문에서 일치할때만 보여주는게 아닌 처음부터 다 뽑아서 한번에 쫙 뿌려주면 좋겠는데, 그건 이론이고 제 실력은 현실이네요..ㅋ
고수님들의 도움이 절실히 필요합니다. 저 밥먹고 살게 좀 도와주세요..ㅜ_ㅜ 포인트 필요하시면 있는거 다 드릴께요..ㅋ
<?
$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'> <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'> <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])."\"> $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])."\"> $ca_menu[$j]</a></td></tr>";
}
}
}
echo "</table>";
간단한 샘플용으로 위의 코드 일부를 떠서 작성했습니다.
간단한 샘플용이니 자유로이 활용해 필요한 형태로 적용하세요.
출력형태는 아래와 같고 카테고리가 있으면 출력하고 없으면 게시판명만 출력됩니다.
게시판명 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])."\"> $ca_menu[$j]</a></td></tr>";
}
}
}
echo "</table>";
어떻게보면 참 간단한건데 제가 체계적으로 안배워서 생각대로 표현을 못하겠네요..ㅋ
정확한 답변 감사합니다.
정확한 답변 감사합니다.
아..약간 문제가 있네요.
모든 카테고리 링크가 현재 게시판에 연결됩니다.
게시판1
--카테고리1_1
--카테고리1_2
게시판2
--카테고리2_1
--카테고리2_2
이렇게 있으면 게시판1에 들어간 후에 바로 게시판2의 카테고리2_1로는 못들어간다는 얘기죠.
모든 카테고리 링크가 현재 게시판에 연결됩니다.
게시판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])."\"> $ca_menu[$i][$j]</a></td></tr>";
위 질문은 $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])."\"> $ca_menu[$i][$j]</a></td></tr>";
아..답변 감사합니다. 멋지군님께서 알려주신대로 적용했더니 전부다 Array[0],Array[1]이런 식으로 나오네요..; 링크는 그대로구요..;; 아고..번거롭게 해드려 죄송해요. 체계적으로 배운게 아니라 그냥 눈동냥으로 배운거라 응용이 안되요..ㅜ_ㅜ