그룹 메뉴 출력에서.. > 그누4 질문답변

그누4 질문답변

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

그룹 메뉴 출력에서.. 정보

그룹 메뉴 출력에서..

본문

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<table width="170" align="center" border="0" cellpadding="0" cellspacing="0">
<tr><td valign="top" align="center">
<table width="100%"border="0" cellspacing="0" cellpadding="0">
<tr><td align="center"valign="top">

<table width="100%" align="center" cellpadding="0" cellspacing="0">
<?
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));

$sql = " select gr_id, gr_subject, gr_9, gr_10 from $g4[group_table] where gr_id = '$gr_id'";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){

$gSubject = "<b>" .$row['gr_subject']."</b>";
$gLink = (!empty($row['gr_10']))?$row['gr_10']:$g4['bbs_path'].'/'.'group.php?gr_id=' .$row['gr_id'];

echo "<tr><td height='35' style='padding:8px 0 0 8px' style='color:#000000;'>&nbsp;";
echo "" . $gSubject . "</td></tr>";


//전체 검색사용에 체크된 게시판만 검색순서에 따라 추출
$sql = " select bo_table, bo_subject 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";


$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 ($total_count > 0) {
$new = "<span class=new><img src='$leftmenu_skin_path/img/icon_new.gif' border='0'>";
}
else { 
$new = "";
}

//현재위치
if ($row[bo_table] == $bo_table) {
echo "<tr><td height='20' style='padding-left:5px; padding-top:0px;'><img src='$leftmenu_skin_path/img/icl1.gif' border=0><a href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]' class=menu_on><span style='color:#FE2A00; '>$row[bo_subject]</span></a> $new</td></tr>";
}
else {
echo "<tr><td height='20' style='padding-left:5px; padding-top:0px;'><img src='$leftmenu_skin_path/img/icl.gif' border=0><a href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]' class=menu_on>$row[bo_subject]</a> $new</td></tr>";
}

}
}
?>
</table>
</td></tr>
</table>
</td></tr>
</table>


새로운글이 등록되면 new 아이콘을 사용하기위해서...
위와같은 코드를 이용했는데 로딩이 느려지는걸 알았습니다.

new 아이콘 관련 코드를 주석처리하면 로딩이 확연히 빨라지네요.


현재,,새로운 글 등록시 new 아이콘 기능을 사용해야되는데..

로딩이 되는 시간이 차이가 납니다.

조언 부탁드립니다.

댓글 전체

//새글알림 오타

$new = "<span class=new><img src='$leftmenu_skin_path/img/icon_new.gif' border='0'>";
->
$new = "<img src='$leftmenu_skin_path/img/icon_new.gif' border='0'>";


저도 이렇게 쓰는데 별 문제 없는데요...
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'";
$result2 = sql_query($sql2);
$total_count = mysql_num_rows($result2); 

대신에
$sql2 = " select count(wr_datetime) as cnt from $tmp_write_table where wr_datetime >= '$intime'";
$result2 = sql_query($sql2);
$row_num = mysql_fetch_array($result2);
$total_count = $row_num[cnt];

이렇게 바꾸어 보시는건 어떨까 합니다.

위의 방식에서 num을 구하기 위한 부분중에 mysql_num_rows() 함수의 경우에는 자료가 많을수록 속도가 느려지게 됩니다.

slow-query 의 원인이 될수도 있습니다 ^^;;
안녕하세요..

글 확인하구선 적용을 해 봤는데...체감할수 있는 변화는 보이질 않고 있네요..ㅠ.ㅠ
혹시 또 다른 방법이 있으시면 조언 부탁드립니다.

그리고 남겨주신 글에 새로운걸 하나 얻게되었습니다..감사드립니다.
글작성하면 스킨의 write_update.skin.php 에서 일정한 시간이 지나면 파기되는 파일을 만들어 주고
새로운글이 있는지는 그걸 파악 해서 뿌려주면 어떨까요?

암튼 매번 쿼리를 하지 않는 방법을 찾아야 할것 같습니다
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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