그룹 메뉴 출력에서.. 정보
그룹 메뉴 출력에서..
본문
<?
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;'> ";
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 아이콘 기능을 사용해야되는데..
로딩이 되는 시간이 차이가 납니다.
조언 부탁드립니다.
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;'> ";
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'>";
저도 이렇게 쓰는데 별 문제 없는데요...
$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 의 원인이 될수도 있습니다 ^^;;
$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 에서 일정한 시간이 지나면 파기되는 파일을 만들어 주고
새로운글이 있는지는 그걸 파악 해서 뿌려주면 어떨까요?
암튼 매번 쿼리를 하지 않는 방법을 찾아야 할것 같습니다
새로운글이 있는지는 그걸 파악 해서 뿌려주면 어떨까요?
암튼 매번 쿼리를 하지 않는 방법을 찾아야 할것 같습니다

안녕하세요.
방법적인것과 많은 튜닝관련 자료들을 찾아서..요즘 활용팁란에 살다시피하네요..^^
답글 감사드립니다.
방법적인것과 많은 튜닝관련 자료들을 찾아서..요즘 활용팁란에 살다시피하네요..^^
답글 감사드립니다.