특정그룹과 특정게시판은 제외를 시키려면.... 정보
그누보드 특정그룹과 특정게시판은 제외를 시키려면....
본문
lulid님의 "왼쪽 게시판 목록에 새글 갯수 표시하기" 입니다.
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&wr_id=1848
특정그룹과 특정게시판은 제외를 시키려면 어디를 어떻게 손봐야 할지 좀 가르쳐 주셔요~~~!
====================================== 소스 시작 ============================
function lulid_bbslist()
{
global $cfg;
global $bo_table;
$sqlgr = " select * from $cfg[table_group] order by gr_id "; //모든 게시판 그룹을 알아냅니다.
$resgr = sql_query($sqlgr);
$hours = 24; //새 글의 유효 시간. 현재로부터 24시간까지를 새 글로 취급. 예) 새 글을 일주일로 하시려면 24 * 7로 고치세요.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
echo "<b>$rowgr[gr_subject]</b><br>"; //게시판 그룹 이름을 출력합니다.
$sqlbo = " select * from $cfg[table_board] where gr_id = '$rowgr[gr_id]' order by bo_table ";
$resbo = sql_query($sqlbo);
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
echo " <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$rowbo[bo_table]'>"; //게시판 링크 출력.
if($bo_table == $rowbo[bo_table]) echo "<b>"; //추출된 게시판이 현재 선택된 게시판이면 "굵게" 표시.
echo "<font color=";
if($bo_table == $rowbo[bo_table]) echo "6666FF"; //추출된 게시판이 현재 선택된 게시판이면 "6666FF"색으로 표시.
else echo "8888FF"; //추출된 게시판이 현재 게시판이 아니면 "8888FF" 색으로 표시.
echo ">$rowbo[bo_subject]</a>"; //게시판 제목 출력
if($bo_table == $rowbo[bo_table]) echo "</font></b>";
//새 글이 있는지 검사
$sql = "select * from $cfg[write_table_prefix]$rowbo[bo_table] where wr_datetime >= '$intime'";
$result = sql_query($sql);
$i = 0;
for($i = 0; mysql_fetch_array($result); $i++); //새 글이 있으면 새 글의 갯수를 센다.
if($i > 0) echo "<font size=1 color=red>($i)</font>"; //새 글이 있으면 새 글의 갯수를 출력.
echo "<br>"; //줄 바꿈.
}
mysql_free_result($resbo);
}
mysql_free_result($resgr);
}
============================================= 소스 끝 ===========================
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&wr_id=1848
특정그룹과 특정게시판은 제외를 시키려면 어디를 어떻게 손봐야 할지 좀 가르쳐 주셔요~~~!
====================================== 소스 시작 ============================
function lulid_bbslist()
{
global $cfg;
global $bo_table;
$sqlgr = " select * from $cfg[table_group] order by gr_id "; //모든 게시판 그룹을 알아냅니다.
$resgr = sql_query($sqlgr);
$hours = 24; //새 글의 유효 시간. 현재로부터 24시간까지를 새 글로 취급. 예) 새 글을 일주일로 하시려면 24 * 7로 고치세요.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
echo "<b>$rowgr[gr_subject]</b><br>"; //게시판 그룹 이름을 출력합니다.
$sqlbo = " select * from $cfg[table_board] where gr_id = '$rowgr[gr_id]' order by bo_table ";
$resbo = sql_query($sqlbo);
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
echo " <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$rowbo[bo_table]'>"; //게시판 링크 출력.
if($bo_table == $rowbo[bo_table]) echo "<b>"; //추출된 게시판이 현재 선택된 게시판이면 "굵게" 표시.
echo "<font color=";
if($bo_table == $rowbo[bo_table]) echo "6666FF"; //추출된 게시판이 현재 선택된 게시판이면 "6666FF"색으로 표시.
else echo "8888FF"; //추출된 게시판이 현재 게시판이 아니면 "8888FF" 색으로 표시.
echo ">$rowbo[bo_subject]</a>"; //게시판 제목 출력
if($bo_table == $rowbo[bo_table]) echo "</font></b>";
//새 글이 있는지 검사
$sql = "select * from $cfg[write_table_prefix]$rowbo[bo_table] where wr_datetime >= '$intime'";
$result = sql_query($sql);
$i = 0;
for($i = 0; mysql_fetch_array($result); $i++); //새 글이 있으면 새 글의 갯수를 센다.
if($i > 0) echo "<font size=1 color=red>($i)</font>"; //새 글이 있으면 새 글의 갯수를 출력.
echo "<br>"; //줄 바꿈.
}
mysql_free_result($resbo);
}
mysql_free_result($resgr);
}
============================================= 소스 끝 ===========================
댓글 전체

총명님//
감사합니다.
아주 잘 되네요. ㅎㅎㅎ
zzzz님//
죄송합니다.
이건 스킨용이 아니라서...... ^^
감사합니다.
아주 잘 되네요. ㅎㅎㅎ
zzzz님//
죄송합니다.
이건 스킨용이 아니라서...... ^^

function lulid_bbslist()
{
global $cfg;
global $bo_table;
// 제외하고 싶은 게시판 bo_table
$except_bo_table = array(
"bbs"=>1,
"gal"=>1,
"pds"=>1
);
// 제외하고 싶은 그룹 gr_id
$except_gr_id = array(
"group1"=>1,
"group2"=>1,
"group"=>1
);
$sqlgr = " select * from $cfg[table_group] order by gr_id "; //모든 게시판 그룹을 알아냅니다.
$resgr = sql_query($sqlgr);
$hours = 24; //새 글의 유효 시간. 현재로부터 24시간까지를 새 글로 취급. 예) 새 글을 일주일로 하시려면 24 * 7로 고치세요.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
if($except_gr_id[$rowgr[gr_id]] == 1) continue; // 제외 그룹 플래그가 1일경우 스킵....
echo "<b>$rowgr[gr_subject]</b><br>"; //게시판 그룹 이름을 출력합니다.
$sqlbo = " select * from $cfg[table_board] where gr_id = '$rowgr[gr_id]' order by bo_table ";
$resbo = sql_query($sqlbo);
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
if($except_bo_table[$rowbo[bo_table]] == 1) continue; // 제외 테이블 플래그가 1일경우 스킵....
echo " <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$rowbo[bo_table]'>"; //게시판 링크 출력.
if($bo_table == $rowbo[bo_table]) echo "<b>"; //추출된 게시판이 현재 선택된 게시판이면 "굵게" 표시.
echo "<font color=";
if($bo_table == $rowbo[bo_table]) echo "6666FF"; //추출된 게시판이 현재 선택된 게시판이면 "6666FF"색으로 표시.
else echo "8888FF"; //추출된 게시판이 현재 게시판이 아니면 "8888FF" 색으로 표시.
echo ">$rowbo[bo_subject]</a>"; //게시판 제목 출력
if($bo_table == $rowbo[bo_table]) echo "</font></b>";
//새 글이 있는지 검사
$sql = "select * from $cfg[write_table_prefix]$rowbo[bo_table] where wr_datetime >= '$intime'";
$result = sql_query($sql);
$i = 0;
for($i = 0; mysql_fetch_array($result); $i++); //새 글이 있으면 새 글의 갯수를 센다.
if($i > 0) echo "<font size=1 color=red>($i)</font>"; //새 글이 있으면 새 글의 갯수를 출력.
echo "<br>"; //줄 바꿈.
}
mysql_free_result($resbo);
}
mysql_free_result($resgr);
}
수정된 소스입니다...
위의 예제에서 제외될 게시판 bo_table 은 bbs, gal, pds 이고
제외될 그룹의 gr_id는 group1, group2, group 입니다...
{
global $cfg;
global $bo_table;
// 제외하고 싶은 게시판 bo_table
$except_bo_table = array(
"bbs"=>1,
"gal"=>1,
"pds"=>1
);
// 제외하고 싶은 그룹 gr_id
$except_gr_id = array(
"group1"=>1,
"group2"=>1,
"group"=>1
);
$sqlgr = " select * from $cfg[table_group] order by gr_id "; //모든 게시판 그룹을 알아냅니다.
$resgr = sql_query($sqlgr);
$hours = 24; //새 글의 유효 시간. 현재로부터 24시간까지를 새 글로 취급. 예) 새 글을 일주일로 하시려면 24 * 7로 고치세요.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
if($except_gr_id[$rowgr[gr_id]] == 1) continue; // 제외 그룹 플래그가 1일경우 스킵....
echo "<b>$rowgr[gr_subject]</b><br>"; //게시판 그룹 이름을 출력합니다.
$sqlbo = " select * from $cfg[table_board] where gr_id = '$rowgr[gr_id]' order by bo_table ";
$resbo = sql_query($sqlbo);
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
if($except_bo_table[$rowbo[bo_table]] == 1) continue; // 제외 테이블 플래그가 1일경우 스킵....
echo " <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$rowbo[bo_table]'>"; //게시판 링크 출력.
if($bo_table == $rowbo[bo_table]) echo "<b>"; //추출된 게시판이 현재 선택된 게시판이면 "굵게" 표시.
echo "<font color=";
if($bo_table == $rowbo[bo_table]) echo "6666FF"; //추출된 게시판이 현재 선택된 게시판이면 "6666FF"색으로 표시.
else echo "8888FF"; //추출된 게시판이 현재 게시판이 아니면 "8888FF" 색으로 표시.
echo ">$rowbo[bo_subject]</a>"; //게시판 제목 출력
if($bo_table == $rowbo[bo_table]) echo "</font></b>";
//새 글이 있는지 검사
$sql = "select * from $cfg[write_table_prefix]$rowbo[bo_table] where wr_datetime >= '$intime'";
$result = sql_query($sql);
$i = 0;
for($i = 0; mysql_fetch_array($result); $i++); //새 글이 있으면 새 글의 갯수를 센다.
if($i > 0) echo "<font size=1 color=red>($i)</font>"; //새 글이 있으면 새 글의 갯수를 출력.
echo "<br>"; //줄 바꿈.
}
mysql_free_result($resbo);
}
mysql_free_result($resgr);
}
수정된 소스입니다...
위의 예제에서 제외될 게시판 bo_table 은 bbs, gal, pds 이고
제외될 그룹의 gr_id는 group1, group2, group 입니다...

총명님이 먼저 남겼군요 ^^;;
까만도적님... 그 애러는 `헛다리` 집었다는 것.... 같은데요.
gr_id 로 그룹만 먼저 제거후,,,
밑의 $sqlbo 부분에서 다시 bo_table 을 제어 하는 것이 나을듯 싶네요.
까만도적님... 그 애러는 `헛다리` 집었다는 것.... 같은데요.
gr_id 로 그룹만 먼저 제거후,,,
밑의 $sqlbo 부분에서 다시 bo_table 을 제어 하는 것이 나을듯 싶네요.

zzzz님//
select * from gb_group where gr_id<>'gr_01' and gr_id<>'gr_02' and gr_id<>'gr_03' and gr_id<>'gr_04' and gr_id<>'gr_05' and gr_id<>'gr_06' and gr_id<>'gr_07' and gr_id<>'gr_08' and gr_id<>'gr_09' and gr_id<>'gr_10' and bo_table <> 'admin' order by gr_id
1054 : Unknown column 'bo_table' in 'where clause'
이런 에러메세지가 뜹니다. ㅠ.ㅠ
byfun님//
감사합니다.
근데 어떻게 하는지를 모르겠네요. ㅠ.ㅠ
select * from gb_group where gr_id<>'gr_01' and gr_id<>'gr_02' and gr_id<>'gr_03' and gr_id<>'gr_04' and gr_id<>'gr_05' and gr_id<>'gr_06' and gr_id<>'gr_07' and gr_id<>'gr_08' and gr_id<>'gr_09' and gr_id<>'gr_10' and bo_table <> 'admin' order by gr_id
1054 : Unknown column 'bo_table' in 'where clause'
이런 에러메세지가 뜹니다. ㅠ.ㅠ
byfun님//
감사합니다.
근데 어떻게 하는지를 모르겠네요. ㅠ.ㅠ

정신이 없네요 ;;;;;
까만도적님은 요런거 함 하면 새로운 스킨이 나오더라구요 ㅎㅎ
$sqlgr = " select * from $cfg[table_group] where gr_id <> '없앨그룹' AND bo_table <> '없앨게시판' order by gr_id "; //모든 게시판 그룹을 알아냅니다.
라면 되겠는데... 잘 모르겠네요.
까만도적님은 요런거 함 하면 새로운 스킨이 나오더라구요 ㅎㅎ
$sqlgr = " select * from $cfg[table_group] where gr_id <> '없앨그룹' AND bo_table <> '없앨게시판' order by gr_id "; //모든 게시판 그룹을 알아냅니다.
라면 되겠는데... 잘 모르겠네요.

// 다음 배열을 함수 위쪽에 선언
// 제외 게시판/그룹 배열... while 문에서 코드를 간단히 하기 위해 연관 배열 사용
$except_bo_table = array(
"bbs"=>1,
"gal"=>1,
"pds"=>1
);
$except_gr_id = array(
"group1"=>1,
"group2"=>1,
"group"=>1
);
// 그룹 제외
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
if($except_gr_id[$rowgr[gr_id]] == 1) continue; // 제외 그룹 플래그가 1일경우 스킵....
:
:
:
// 게시판 제외
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
if($except_bo_table[$rowbo[bo_table]] == 1) continue; // 제외 테이블 플래그가 1일경우 스킵....
이렇게 하면 되지 않을까 싶네요.. 근데 안사용해봐서 확답은.. ^^;;
// 제외 게시판/그룹 배열... while 문에서 코드를 간단히 하기 위해 연관 배열 사용
$except_bo_table = array(
"bbs"=>1,
"gal"=>1,
"pds"=>1
);
$except_gr_id = array(
"group1"=>1,
"group2"=>1,
"group"=>1
);
// 그룹 제외
while ($rowgr = mysql_fetch_array($resgr)) { //각각의 게시판 그룹에서 작업을 합니다.
if($except_gr_id[$rowgr[gr_id]] == 1) continue; // 제외 그룹 플래그가 1일경우 스킵....
:
:
:
// 게시판 제외
while ($rowbo = mysql_fetch_array($resbo)) { //정해진 게시판 그룹 안에서 테이블 들을 추출합니다.
if($except_bo_table[$rowbo[bo_table]] == 1) continue; // 제외 테이블 플래그가 1일경우 스킵....
이렇게 하면 되지 않을까 싶네요.. 근데 안사용해봐서 확답은.. ^^;;